java – LibGDX – 调整循环中火焰速率的最佳方法
发布时间:2020-12-15 04:42:11 所属栏目:Java 来源:网络整理
导读:我正在用LibGDX制作2D平台游戏/射击游戏.我正在进行这个循环,按住火按钮会导致子弹从主角枪中飞出整个持续时间,同时按下按钮(快速射击).该部分完美且按预期工作.但是,我希望火速稍慢.目前,循环只是在每个游戏框架上向世界添加一颗子弹,这意味着火速高得离谱.
我正在用LibGDX制作2D平台游戏/射击游戏.我正在进行这个循环,按住火按钮会导致子弹从主角枪中飞出整个持续时间,同时按下按钮(快速射击).该部分完美且按预期工作.但是,我希望火速稍慢.目前,循环只是在每个游戏框架上向世界添加一颗子弹,这意味着火速高得离谱.
我一直试图找到一个很好的方法来做到这一点,但无济于事.任何建议都将受到高度赞赏. 循环: if (keys.get(Keys.FIRE)) { player.setState(State.FIRING); world.addBullet(new Bullet(1f,1f,0)); } 解决方法
你可以使用一个延迟机制,通过一个变量来减少时间,每次击中0,你进行一次射击并重置时间,例如当你希望玩家每0.2秒射击时为0.2f:
private float fireDelay; public void render(float deltaTime) { fireDelay -= deltaTime; if (keys.get(Keys.FIRE)) { player.setState(State.FIRING); if (fireDelay <= 0) { world.addBullet(new Bullet(1f,0)); fireDelay += 0.2; } } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |