官網可以看到有很多可使用的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的參數傳遞法。