私はJavaでいくつかのAIに取り組んでいます。エンティティがポイントに向かって移動するとき、その動きは自然に見えません。開始点とターゲットが互いに X 距離と Y 距離で等しくない場合、移動は次のようになります。
私がそれをどのように動かしたいかは次のとおりです:
現在、移動は次のように行われます。
int tX = target.x;
int tY = target.y;
if(tX> oX){
getOwner().addX(getOwner().getMoveSpeed());
}
if(tX < oX){
getOwner().addX(-getOwner().getMoveSpeed());
}
if(tY> oY){
getOwner().addY(getOwner().getMoveSpeed());
}
if(tY< oY){
getOwner().addY(-getOwner().getMoveSpeed());
}
これよりもはるかに優れた動きの処理方法があると思います。
したがって、私が知りたいのは、移動に必要な角度と、移動に必要な x 速度と y 速度を計算する方法です。