弾丸の 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;
しかし、これは実際には正確ではなく、弾丸はランダムな速度のようです(最終ループの最終がaimToXとAimToYが6に等しい場合(それぞれが3)、最終速度はx = 1およびy = 1になり、最終ループが4に等しい場合) x=2 と y=2 のように終わるよりも、それが違いを生んでいます)
それで、問題は、それをより良くする方法ですか?