renpy (5) 自己撰寫button的Action
Contents
在官網可以看到有很多可使用的Action。
萬一想要的功能並不在裡面呢? 其實也有Function此一Action的存在,可自己撰寫Function傳進去使用。
這裡只是提點一些Function使用上的誤區。
絕對要使用Function此Action
- 絕對要使用Function此Action
- 絕對不要直接把自己寫的function當Action
錯誤範例
python:
def test():
pass
textbutton "Click Me!!":
action test()
在renpy眼中,這是一個正常行為,他不會報錯。
但是這會導致此button並非在點擊才觸發Action,而是在載入、textbutton出來的那瞬間,就執行了action。
正確寫法
python:
def test():
pass
textbutton "Click Me!!":
action Function(test)
傳入參數
如果這個function需要支援參數傳遞呢? 一樣可以用Function達到
python:
def test(text):
pass
textbutton "Click Me!!":
action Function(test, text = "apple")
Function在官方的文件上說支援args和kwargs的參數傳遞。
但實際測試後發現,args的參數傳遞是壞的,並不能使用。所以請都用kwargs的參數傳遞法。