藍丁論壇
Would you like to react to this message? Create an account in a few clicks or log in to continue.
藍丁論壇

藍丁遊戲製作團所屬的論壇


您沒有登錄。 請登錄註冊

[RMXP]避免重複定義方法而造成無限回圈

2 posters

向下  內容 [第1頁(共1頁)]

lbrmg

lbrmg
普通會員

RUBY裡面可以將某方法的名稱重新命名
然後把某方法重新定義之後
引用某方法舊的內容
代碼:
def abc
  p '邪惡的內容'  #=> 邪惡的內容
end
abc  #=> 邪惡的內容
要在abc方法裡面加上其他東西
代碼:
alias abc_add_other abc
def abc
  abc_add_other  #=> 邪惡的內容
  p '變態的東西'  #=> 變態的東西
end
abc  #=> 邪惡的內容 變態的東西
這樣如果你按F12重新執行
代碼:
alias abc_add_other abc
def abc
  abc_add_other
  p '變態的東西'
end
那麼abc_add_other就會變成
代碼:
def abc_add_other
  abc_add_other  # 執行本身而造成無限回圈
  p '變態的東西'
end

這樣你不就掛點了...
所以我們在腳本的最上面給他加上一個腳本
代碼:
(Thread.new{system'Game'};exit)if$rerun;$rerun=1
#(新的處理程序{開啟遊戲視窗};結束目前遊戲視窗)如果$rerun為真;$rerun帶入不為假的值
這樣每次按F12就會重新開啟遊戲
就不會造成這種問題啦

Admin

Admin
Admin

原來還可以這樣做......

我跟你說了多少次,給新手看的腳本不要用簡寫......

http://manchun2007.110mb.com

lbrmg

lbrmg
普通會員

只有一個是簡寫
不懂的人再問吧...

回頂端  內容 [第1頁(共1頁)]

這個論壇的權限:
無法 在這個版面回復文章