有lua高手嗎??簡單的問題。。給點意見 謝謝

2022-06-23 12:55:03 字數 905 閱讀 2680

1樓:匿名使用者

理論上你的**是可以執行的

但是缺點是當你訪問到下標界限之後 就會越界 返回nil當然 我們也可以針對計數的判斷做一些其他處理附贈**一段

local story =

function itercreater()local count = 1

return function()

if count <= #story thencount = count + 1

return story[count - 1]else

return nil -- 越界處理

endend

endlocal iter = itercreater() -- 迭代器工廠建立一個迭代器

for i = 1,5 do

print(iter()) -- 輸出迭代器返回的結果end沒有必要去關心其他遊戲是怎麼實現的 每個程式的開發條件和開發目標都不一樣

需求不同 實現的方法也不同 選擇一個最適合自己的方法就好了

2樓:不屑寵兒

雖然沒玩過你所說的galgame,但是我想大部分指令碼語言所處的功能都是相似的,就是為了降低**編寫成本,便於除錯。

如你所說,當觸屏的時候,呼叫一個函式,也是一個相同的道理。c++**應該只負責核心的**,比如觸屏:這個必然是呼叫了手機底層api必須要用c++**寫了,無可厚非,但是在什麼時候呼叫?

觸點在哪?類似這些問題都是可以用c++留下介面,讓lua來實現。當然這必然大大增加了**編寫難度。

介面應該如何處理是一個困難的問題。你可以看看c++ api設計這書。

看了你的story function其實不應該怎麼寫的,這樣把c++和lua耦合的太緊密了。真正的程式設計應該是c++寫完介面後,由專門的指令碼程式猿設計各種場景。這時候就不動c++**了。