我目前正在用Java制作2D平台变形器。我是初学者,所以放松一下。 我在游戏中遇到重力问题。我正在使用不同的变量来下降和跳跃。我正在使用平铺地图。所以让我们明白。 我跌倒的方法是这样的 -Java 2D平台变形器重力
if(collisionDown == false) {
characterY += fall;
fall ++;
{
秋天等于4。如果collisionDown是真的它重置回4
我的跳法几乎是一样的:
if(key.E == true && collisionDown == true) {
characterY -= jump;
jump --;
}
跳转等于16.如果collisonDown为真,它将重置为16.
现在的问题是:想象角色正在跳跃。它在空中,而在下降的时候特性+ =下降;可以说characterY = 250,在这个时刻下降等于15。字符下面的下一个实体图块从Y位置255开始。字符位于250,并且不检测碰撞,因此下一帧会将15添加到characterY,即250 + 15 = 265。此时,角色已经“进入”实体图块这是在位置Y255.
我有“固定”,让角色回到固体瓷砖的顶部(这是可见的和烦人的)。这不是一个完美的解决方案,因为它会减慢字符每帧1帧时间它进入一个坚实的瓷砖(这是因为它检测到左右碰撞和角色不能移动)。如果我可以这样说,这个角色明显地口吃。
我需要一个解决方案,但不能想到任何问题。 所以,如果你提出一个建议,我会很高兴。谢谢。
简单而有效。谢谢 –