【发布时间】:2016-07-31 01:18:32
【问题描述】:
我正在使用 GetBounds 方法作为游戏碰撞检测的一部分,它正在做一些相当奇怪的事情。 GetBounds 为我的多边形的原始位置返回一个边界框,但不是我将它移动到的当前位置。这非常令人困惑,因为当我绘制多边形时,它出现在正确的位置。我觉得移动我的多边形很可能是我犯了一个错误,所以我已经包含了我如何移动它的详细描述。
我更改多边形位置的方法是修改从类多边形继承的数组“xpoints”和“ypoints”。通过将多边形的所需位置添加到包含位置 0,0 的多边形的不同数组并替换数组来修改 xpoints 和 ypoints 数组。
代码如下:
Public Class Sword extends Polygon{
int[] SwordXPoints, SwordYPoints
public void main(int DesiredLocation){
for(int i = 0; i < super.ypoints.length; i++){
super.ypoints[i] = SwordXPoints + DesiredLocation;
}
for(int i = 0; i < super.xpoints.length; i++){
super.xpoints[i] = SwordYPoints + DesiredLocation;
}
}
}
我希望这个解释更容易理解和更简单。
谢谢,山姆。
【问题讨论】:
-
这还不完整,你正在使用你自己的剑等课程,所以我们怎么知道你在里面做什么??
-
对不起 gpasch,这对我来说似乎很有意义。我会重写它,并尽量避免使用从我的游戏中抽取的任何特定代码,而只是重写它以便于阅读。
标签: java collision-detection polygons