2

Corona SDKで、プレーヤーが車を運転できるアプリケーションを作成しています。車が衝動に駆られたときに呼び出される印刷機能があります。

print("@",self.frames,virtual,self.animation.rotation,self.animation.angularDamping);

1秒間に約60回。コメントを外すと、車のコントロールがはるかに敏感になります。デバッグ時にシステムリソースを使いすぎたことが原因のようです。

print()の副作用を残したいのですが、CPUを無駄にしたくありません。1つのフレームに多くのアクションを入れようとしたときに、低レベルのコードでCorona Simulatorが何をするかを知っている場合、それを説明できますか?

4

2 に答える 2

1

すべてのデバッグデータを含むテーブルを作成するのはどうですか。次に、x秒ごとにデータを端末に出力するタイマーを設定するか、ファイルに書き込むことができます。

data = {}

function onEveryFrame()

    data[#data + 1] = { }
    data.frames = self.frames
    data.virtual = virtual
    data.rotation = self.animation.angularDamping
    data.angularDamping = self.animation.angularDamping

end

function calledByTimerEveryXSeconds()

// print data table here

end
于 2013-05-04T22:49:49.370 に答える
1

システムリソースに課税しているという前提で、あなたは正しいと思います。

フレームレートを下げることで同様の効果が得られるかもしれません(ランタイム関数を使用している場合)。それはあなたの本当の問題が何であれ、回避策のように思えます。ランタイム関数を使用する代わりに、1秒間に30回程度呼び出されるゲームループタイマーを使用して、それに応じて調整することもできます。

于 2013-05-23T00:30:17.917 に答える