【RenPy】簡(jiǎn)單劇情邏輯控制教程
效果如下

這一期教程是解答一個(gè)群友光明@的問(wèn)題。 感謝光明@提供文案素材! 本教程在光明@許可下發(fā)出。
這個(gè)教程的核心思想就是jump和call的用法。jump的話就是有去無(wú)回,call的話執(zhí)行完,會(huì)回到之前的地方。
下面摘抄自官方文檔:(https://www.renpy.cn/doc/label.html)
jump語(yǔ)句
jump語(yǔ)句用于將主控流程轉(zhuǎn)入給定的腳本標(biāo)簽(label)處。
若出現(xiàn)了?expression
?(表達(dá)式)關(guān)鍵詞,關(guān)鍵詞后面的表達(dá)式將被賦值,而被計(jì)算后的對(duì)應(yīng)字符串則會(huì)被用作跳轉(zhuǎn)目標(biāo)的標(biāo)簽語(yǔ)句。若未出現(xiàn)?expression
?(表達(dá)式)關(guān)鍵詞,跳轉(zhuǎn)目標(biāo)的標(biāo)簽名字就必須精確指定。
與call語(yǔ)句不同,jump語(yǔ)句不會(huì)將下一個(gè)語(yǔ)句放入棧(stack)中。因此,執(zhí)行完跳轉(zhuǎn)標(biāo)簽對(duì)應(yīng)的語(yǔ)句塊之后,主控流程不會(huì)回到跳轉(zhuǎn)前的腳本位置。
call語(yǔ)句
call語(yǔ)句用于將主控流程轉(zhuǎn)入給定的腳本標(biāo)簽(label)處。call語(yǔ)句會(huì)將下一條語(yǔ)句壓入到調(diào)用棧(stack)中,并允許主控流程在執(zhí)行完這次調(diào)用后,回到調(diào)用發(fā)生的腳本位置。
若出現(xiàn)了?expression
?(表達(dá)式)關(guān)鍵詞,關(guān)鍵詞后面的表達(dá)式將被賦值,而被計(jì)算后的對(duì)應(yīng)字符串則會(huì)被用作跳轉(zhuǎn)目標(biāo)的標(biāo)簽語(yǔ)句。若未出現(xiàn)?expression
?(表達(dá)式)關(guān)鍵詞,跳轉(zhuǎn)目標(biāo)的標(biāo)簽名字就必須精確指定。
from
?分句是可選的,在label語(yǔ)句后面直接添加入?yún)⒚椭?,并直接在該label下直接使用。一個(gè)命名直白的標(biāo)簽(lable)有助于我們能利用棧(stack)回到腳本里合適的地方,就算加載的是修改過(guò)的腳本。
call語(yǔ)句可以帶入?yún)⒌那闆r,在PEP 3102中有詳細(xì)說(shuō)明。
當(dāng)我們使用一個(gè)帶入?yún)⒘斜淼恼{(diào)用表達(dá)式時(shí),必須在表達(dá)式和入?yún)⒘斜碇g插入關(guān)鍵詞?pass
?。否則,入?yún)⒘斜頃?huì)被當(dāng)作表達(dá)式的一部分,而不是call語(yǔ)句的一部分。
視頻中使用的代碼如下