繁体   English   中英

Java Slick2D拍摄问题

[英]Java Slick2D Shooting Issue

我通常对Java和Slick2D都是陌生的,即使浏览Google之后,也找不到我的问题的答案。 在我的游戏中,我有一个当前可以来回奔跑并跳跃的角色。 我希望他能够射击弹丸,但是按照我的编码方式,当他切换方向或跳跃时,弹丸会改变轨迹。

if(input.isKeyPressed(Input.KEY_SPACE)){    
        shotX = charPosX;
        shotY = charPosY;
    if(left){
            shotX += delta * -0.5f;             
        }else{
            shotX +=delta * 0.5f;
        }

}

这基本上是我目前拥有的代码。 “ left”布尔值仅说明字符是面向左还是面向右。 我感觉好像缺少一些明显的东西,但是我想知道是否有人对此有一个简单的解决方案,也许是一种在渲染后停止将镜头位置设置为角色位置的方法。 任何帮助表示赞赏。

正如您在评论中告诉您的那样,很难通过这么小的代码来确定情况,但是我认为问题在于,在按住空格键的同时,将反复执行if子句,设置子弹相对于角色的位置。

可能更好的方法是在bullet项目类中具有一个布尔值,指示是否已将其触发,然后在每个更新周期通过将增量时间乘以值来更新位置。 您描述的情况似乎在每次按住空格键时都会重置一个项目符号。

另外, 子弹只能在按住空格键的情况下移动,因为移动代码位于if语句中。 我希望这有帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM