私はEntity(A bullet)を、xとyに向かって動かす方法を探しています。これは、弾丸が発射されたときのプレイヤーの位置です。ので、私のエンティティクラスでは私が持っている -xとyに向かってエンティティを移動させる方法は?
float xSpeed = 1.0F;
float ySpeed = 0.0F;
私はどのように私はそれが別のxとyのdirの中に移動するだろう、私はxSpeedとySpeed = 1.0F になるだろうdiaganalライン内のエンティティを移動したい場合?
助けてくれてありがとう EDIT - が解決、助け のヘルプを必要とするこの質問を見つけた誰のおかげで、ここでは、私はそれを作るためにいくつかの数学を持っている私のコード -
float xSpeed = 0;
float ySpeed = 0;
ですそう、彼らはあなたが
に向かって移動したい斧とyに基づいて、同じ速度ySpeed = ySpeed * (float) (2.5/Math.sqrt(xSpeed * xSpeed + ySpeed * ySpeed));
xSpeed = xSpeed * (float) (2.5/Math.sqrt(xSpeed * xSpeed + ySpeed * ySpeed));
とxSpeedとySpeedを設定するには、このコードで移動します
xSpeed = (Game.PlayerX - x)/3;
ySpeed = (Game.Playery - y)/3;
、次いで、finaly、
this.x += xSpeed;
this.y += ySpeed;
は完璧に動作し、助けのための感謝:2を遅らせるためにあるようDは、所望の速度は、フロートすることができ、 3は速くすることです:D。このサイトで最初に投稿しますが、このような素敵なコミュニティを再び使用することはできません。 –
@ JackPatrick - 私はすべてがフロートであると仮定していました。ところで、コミュニティへようこそ。 –
助けてくれてありがとう、他の人を助けるための最初の投稿に解決策を追加しました。 –