【发布时间】:2014-09-11 15:44:34
【问题描述】:
我需要计算子弹的 X 和 Y 速度(子弹将通过这些移动每个“更新”),所以我有关注
public int[] getXandYSpeed(int pointOfOriginX, int pointOfOriginY, int aimToX, int aimToY){
int[] coords = new int[2];
aimToX = aimToX - pointOfOriginX;
aimToY = aimToY - pointOfOriginY;
while((aimToX + aimToY) > 5){
aimToX = aimToX/2;
aimToY = aimToY/2;
}
coords[0] = aimToX;
coords[1] = aimToY;
return coords;
但是,这并不是很准确,并且子弹具有随机速度(如果最终循环中的 final 是 aimToX 加上 AimToY 等于 6 所以(每个都是 3)所以最终速度将是 x=1 和 y=1,如果最终循环等于四,而不是像 x=2 和 y=2 一样结束,这很重要)
那么,问题是,如何让它变得更好?
【问题讨论】:
-
你有什么问题?
-
你的子弹是否匀速移动?
-
如果您想要更高的精度,请使用双精度而不是整数。你不能指望用整数除法得到精确的结果,因为它们是……整数
-
你想让你的子弹以一致的速度到达一个确切的位置吗?如果是这样,我有你的代码,如果你愿意,我可以将它作为答案发布
标签: java android projectile