0

ちなみにLoveフレームワークを使用しています。

わかりましたので、ランダムマップ生成を作成しようとしています。明らかに一度だけ描きたいので、非常に基本的な構造を設定しようとしました。これは機能しておらず、その理由がわかりません。

function love.load()
    testVar = 1
end

function love.draw()
    if testVar == 1 then
        testFunction()
        love.graphics.print("Update", 20, 200)
    end

    love.graphics.print(testVar, 100, 100)
end

function testFunction()
    love.graphics.print("Success", 20, 300)
    testVar = 0
end

draw関数でtestVarを出力するコマンドのおかげで、それは「0」を出力するだけです。したがって、実際にtestFunctionを実行せずにtestVar値を更新しているようです。これはLuaと関係がありますか?

Love に慣れていない人のために説明すると、love.draw はすべてのフレームで呼び出され、love.load は最初だけ呼び出されます。

4

1 に答える 1

1

このコードは期待どおりに機能します。フレームごとに (1 秒間に複数回) 呼び出されるだけlove.drawなので、最初のフレームからの出力は次のフレームによってすぐに上書きされます。通常love.update、状態を変更する必要がある場合 (たとえば、ユーザー入力に基づいて) に使用love.drawし、その状態を画面に描画する場合 (フレームごと) に使用します。

于 2013-02-28T16:23:49.530 に答える