0

私はLibgdxでゲームを作成しています。このゲームでは、特定の時間間隔でテクスチャを表示および非表示にして、このプロセスを繰り返します。これにTimerクラスを使用できますか。例も教えてください。

4

3 に答える 3

4

ここで何をしようとしているのかわかりません。レンダリングループにフラグを含めることができます

Texture texture;
long lastFlip = 0;
long flipTime = 1000;
boolean display = false;

//..In your rendering loop
if(lastFlip+flipTime > System.currentTimeMillis()){
     display = !display;
     lastFlip = System.currentTimeMillis();
}
if(display){
      spriteBatch.draw(texture,0,0);
}

組み込みのアクションシステムをscene2dで使用する場合は、次のチュートリアルを参照してください。 チュートリアル。ブログは非常に優れており、多くのscene2d機能の使用方法についての良いアイデアを提供します。Scene2dが変更されたため、データが少し不足している可能性がありますが、必要なアイデアが得られます。

于 2013-02-25T14:20:23.730 に答える
0

これで解決策が得られたと思いますが、システム固有の時間を使用する代わりに、renderメソッドですでに使用しているGdxグラフィックスのデルタ時間を使用する必要があります。次に、テクスチャを表示する時間と比較します。

于 2013-10-14T10:22:19.100 に答える
0

異なるプラットフォームでの最終的な非互換性を回避するために、時間を読み取るためにlibGDXラッパー関数を確実に使用する必要があります。しかし、それ自体をコーディングするのは本当に簡単です。

if (TimeUtils.millis()%(SHOW_TIME+HIDE_TIME) < SHOW_TIME){
 // render it
}

ここで、SHOW_TIMEはテクスチャを表示するミリ秒数であり、HIDE_TIMEはテクスチャを非表示にするミリ秒数です。余分な変数は必要なく、これよりも複雑になります。

于 2014-03-04T12:25:28.300 に答える