java - 如何使矩形改变其位置或移动?

标签 java libgdx collision rectangles

我使用矩形进行碰撞检测,每 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/

相关文章:

javascript - 我该如何改进这个 JavaScript 碰撞检测?

java - 维护过滤后的ObservableList最基本的方法是什么?

libgdx - 在 iOS libgdx 应用程序中运行时出错

java - 验证速度模板

android - Google 游戏服务登录问题(第一次尝试失败,第二次成功)

java - 使用 gdx-setup-ui.jar 初始化新项目后出现错误

arrays - 处理中数组中的矩形碰撞检测

c++ - 碰撞后移除物体(子弹物理)

java - 在 Java 泛型类中,在构造函数级别添加额外的泛型约束?

java - 如何从 Java 列表中获取 Scala 列表?