我使用矩形进行碰撞检测,每 3 秒创建一个矩形,我不希望矩形像我的 Sprite 一样向上移动,但 .translateY()
方法不能用于矩形。
这就是我对存储在 ArrayList 上的 Sprite 所做的事情:
for(Sprite sprite:mySprite){
sprite.translateY(deltaTime*movementSpeed);
}
这是我在矩形上所做的,但不起作用:
for(Rectangle rect:myRect){
rect.setY(deltaTime*movementSpeed);
}
最佳答案
有可能你的矩形是按照你告诉他们的位置绘制的,但是setY不一样,这translateY,简单解释:
例如,如果 deltaTime = 1 aprox。且运动速度 = 5。 您总是在同一位置绘制矩形,增量变化最小,可能只是不受欢迎:
你的位置是 rect.setY(5);所有时间。
试试这个
for(Rectangle rect:myRect){
rect.setY(rect.getY() + (deltaTime*movementSpeed));
}
我希望这会有所帮助。
关于java - 如何使矩形改变其位置或移动?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30544124/