虽然练习想要创建基本的游戏类型(?) - 只有一个基本的形状(矩形),你用一个按钮向前移动,用另一个按钮向后移动,然后用另外两个按钮旋转它,那个形状因此应该根据它的旋转移动到其他方向。到目前为止我所做的是:
输入处理:
if (input.isKeyDown(Input.KEY_UP)) {
rectX += Math.cos(Math.toRadians(rotation)) * (0.2*delta);
rectY += Math.sin(Math.toRadians(rotation)) * (0.2*delta);
}
if (input.isKeyDown(Input.KEY_DOWN)) {
rectX -= Math.cos(Math.toRadians(rotation)) * (0.2*delta);
rectY -= Math.sin(Math.toRadians(rotation)) * (0.2*delta);
}
if(input.isKeyDown(Input.KEY_LEFT)){
rotation-=(0.1*delta);
rectangle = rectangle.transform(Transform.createRotateTransform(rotation, rectX, rectY));
if(rotation <= 0f) {
rotation = 360f;
}
}
if(input.isKeyDown(Input.KEY_RIGHT)){
rotation+=(0.1*delta);
rectangle = rectangle.transform(Transform.createRotateTransform(rotation, rectX, rectY));
if(rotation >= 360f) {
rotation = 0f;
}
}
rectangle.setCenterX(rectX);
rectangle.setCenterY(rectY);
}
rectX,rectY显然是矩形的中心坐标(浮点数) 和旋转是......好转... 我认为,其他代码并不值得一提。 在我看来这应该有用,但事实是当运动方向以正常速度变换时,我的矩形旋转得很厉害,可能比它的运动方向快约100倍。
Delta是自上次调用update()以来的毫秒数。