Libgdx 在游戏屏幕上放置特定时间间隔的纹理

Libgdx 在游戏屏幕上放置特定时间间隔的纹理,libgdx,Libgdx,我正在用Libgdx制作一个游戏,在这个游戏中,我想在特定的时间间隔内显示和隐藏一个纹理,并重复这个过程。我可以使用Timer类进行此操作。 请给我举个例子。我不知道你在这里想做什么。可以在渲染循环中设置一个标志 Texture texture; long lastFlip = 0; long flipTime = 1000; boolean display = false; //..In your rendering loop if(lastFlip+flipTime > System

我正在用Libgdx制作一个游戏,在这个游戏中,我想在特定的时间间隔内显示和隐藏一个纹理,并重复这个过程。我可以使用Timer类进行此操作。
请给我举个例子。

我不知道你在这里想做什么。可以在渲染循环中设置一个标志

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的变化,它可能有点脱离数据,但它会提供您需要的想法

我不知道你想在这里做什么。可以在渲染循环中设置一个标志

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的变化,它可能有点脱离数据,但它会提供您需要的想法

我确信您现在已经找到了解决方案,但是您应该使用渲染方法中已有的Gdx图形增量时间,而不是使用系统特定时间。然后将其与您希望显示纹理的时间量进行比较。

我确信您现在已经找到了解决方案,但您应该使用渲染方法中已有的Gdx图形增量时间,而不是使用系统特定时间。然后将其与您想要显示纹理的时间量进行比较。

您肯定应该使用libGDX包装函数来读取时间,以避免不同平台上的最终不兼容。但代码本身可能非常简单:

if (TimeUtils.millis()%(SHOW_TIME+HIDE_TIME) < SHOW_TIME){
 // render it
}
if(TimeUtils.millis()%(显示时间+隐藏时间)

其中,SHOW_TIME是要显示纹理的毫秒数,HIDE_TIME是要隐藏纹理的毫秒数。不需要额外的变量,并且使其更复杂。

您肯定应该使用libGDX包装函数来读取时间,以避免不同平台上的最终不兼容。但代码本身可能非常简单:

if (TimeUtils.millis()%(SHOW_TIME+HIDE_TIME) < SHOW_TIME){
 // render it
}
if(TimeUtils.millis()%(显示时间+隐藏时间)
其中,SHOW_TIME是要显示纹理的毫秒数,HIDE_TIME是要隐藏纹理的毫秒数。不需要额外的变量,也不需要使它比这更复杂