0

カウントダウン時計があります。これは、植え付けられた/構築が開始されたゲーム内のオブジェクトの上に表示されます。

SparrowFrameworkを使用しています。

現在、onEnterFrameでメソッドを実行しています。このメソッドは、すべてのフレームをチェックし(実際には、他のすべてのフレームに設定していますが、とにかく)、カウントダウンクロックを更新しますが、これは遅くて非効率的であるかどうか疑問に思っています。これを行う方法。

物事を詰まらせることなく、カウンターを更新する方法はありますか?

ゲーム画面にこれらのカウントダウン時計がいくつか表示されることを付け加えておきます。

4

3 に答える 3

1

別のアプローチは、カウントダウンカウンターを減少させたいのと同じ間隔でティックするNSTimerを使用することです。ティックごとにカウンターをデクリメントして呼び出しますsetNeedsDisplay

カウントダウンの値が変更されたかどうかを確認onEnterFrameし、カウンターが変更された場合は再描画するだけであれば、問題はありません。

于 2012-11-08T16:42:40.237 に答える
0

実行するスレッドが最小であるほど、スムーズに進むはずです。カウンターは単なる変数であり、オーバーヘッドはごくわずかであり、心配する必要はありません。

レンダリング操作、イメージのロード、新しいオブジェクトの作成、オブジェクトの破棄などははるかに多くのリソースを消費するため、カウンターを増やすことはパフォーマンスの心配にはなりません。

于 2013-01-20T17:46:49.713 に答える
0

時期尚早の最適化..あなたはそれがそうであるかもしれないと思うその遅いことを知りません

とにかく、私は従いません。絵を描くのが心配ですか?もしそうなら。すべてのビューはsetNeedsDisplayのみを実行し、実行ループの反復ごとにバッチモードで更新されます

于 2012-11-08T16:33:46.987 に答える