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

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

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++**了。

關於在lua中呼叫c 函式的問題求高手

第乙個問題 你不要把lua 源 裡面的引數和lua擴充套件的c函式裡面的引數混淆版了。lua那邊,是不管什麼指權針的 那個plc這邊函式裡面的引數,當然要求是pl指標。第二個問題 對於乙個c函式來說,它必須返回乙個int值。這個int值告訴lua,它返回幾個引數到lua裡面去 可以是返回0個引數 如...

簡單的化學問題,高手請進,呵呵,謝謝啦

高錳酸鉀和硝酸銀 水解生成硝酸,硝酸遇光熱分解,水解不斷移動 見光易分解是其強氧化性造成的 光中有高能量的紫外線 不能推廣,碳鏈越長沸點越高,高階脂肪酮 醛多是固體。固體酮 醛不易揮發 高錳酸鉀很穩定,濃硝酸和硝酸銀見光易分解,這和濃硝酸的強氧化性有關,而硝酸銀則和銀單質不不活潑有關.揮發性不能類推...

很簡單的c語言問題,求高手解答,謝謝

scanf 分數 d n score 是錯的,這樣會導致你無法輸入任何資料。不信你可以先給score賦乙個初值,然後 printf d score 就會發現score永遠是初值。應該寫成scanf d score 如果你需要顯示 分數 應該再用乙個printf include void main s...