首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何正确地在Java libGDX中为我的游戏添加足迹?

如何正确地在Java libGDX中为我的游戏添加足迹?
EN

Stack Overflow用户
提问于 2020-12-20 20:54:15
回答 1查看 64关注 0票数 1

我试图添加脚印到我的游戏,所以当玩家走在雪地或沙子等,它产生的小脚印,淡出。下面的代码几乎可以工作。当玩家行走时,它会不断地产生新的脚印,所以我得到了一长排无法区分的足迹,它们会随着每个生命周期的更新而更新。

我认为我需要的是在新的脚印之间延迟,但我不知道如何正确地做到这一点。有人有什么建议吗?

代码语言:javascript
复制
if(player.overlaps(snow))
          { 
             if(player.getSpeed() != 0)
             {
             FootPrint footPrint = new  FootPrint(0,0, mainStage);
             hero.toFront();
             footPrint.setPosition(player.getX(), player.getY());
             footPrint.addAction(Actions.fadeOut(5.0f));   
             footPrint.addAction(Actions.after(Actions.removeActor()));
              }
         }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-12-20 21:34:03

您可以添加FootprintIntervalCounter实例并在算法中调用它。天真的实现是:

代码语言:javascript
复制
public class FootprintIntervalCounter {

    private long lastRenderTimeMillis;
    private long interval;
    private boolean renderingCompletionFlag;

    public boolean isFootprintNeeded() {
        if (!renderingCompletionFlag) {
            return false;
        }
        long currentTime = System.currentTimeMillis();
        boolean isNeeded = (currentTime - lastRenderTimeMillis) > interval;
        if (isNeeded) {
            renderingCompletionFlag = false;
        }
        return renderingCompletionFlag;
    }
    
    public void afterFootprintIsRendered(long renderTimeMillis) {
        renderingCompletionFlag = true;
        lastRenderTimeMillis = renderTimeMillis;
    }
}
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65384678

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档