【发布时间】:2016-05-25 19:19:03
【问题描述】:
我正在创建 java 游戏(我现在是初学者),我想从某种平台游戏开始。
我想知道如何让玩家跳跃(我知道如何让他上下移动),但我不知道如何让他在上升后返回。
这是我的代码:
public void keyPress() {
if (listener.arrowUp) {
Jump();
}
}
private void Jump() {
if(player.get(1).getPosY() > maxJump) {
player.get(1).moveY(-10);
} else if(player.get(1).getPosY() == maxJump) {
player.get(1).moveY(85);
}
}
所以.. 只要我按下“w”,玩家就会向上移动 -10px,当他击中 maxJump(即 375,玩家在开始时的位置是 465)时,他会“传送”回 465,而不是向下滑动就像他在上升时所做的那样。没有视频真的很难解释这一点,但我希望有人能理解并帮助我。
【问题讨论】:
-
创建通用对象和实体,赋予它们一些特征(可以跳跃?射击?)然后将玩家角色、敌人、老板从这些通用类中子类化是很常见的(也很有效) ...如果您像这样设计游戏,那么将一些实体包装在另一个称为(比方说)环境的类中并向环境添加功能(如重力)会容易得多。
-
stackoverflow.com/a/21785654 中的答案包括一个完整的示例,您可以简单地编译和运行。它指的是发射弹丸,但物体的运动(以及计算运动的基本技术)与跳跃相同。