固定位置からゲーム内のクリック点に移動する矩形を取得しようとしています。マウスリスナークラスのe.getXメソッドとe.getYメソッドから良い座標を取得しています。私はまた、直線の横または上下にpositionXとYの値を増減して移動する矩形を持っていますが、私はそれをクリックする任意のポイントに移動する方法が必要です、基本的に私はxの変更を設定する必要がありますとy。私が考えていた方法は、クリック点と開始点から線の立ち上がりと立ち上がりを計算し、次にxとyの値を立ち上がりと実行に設定することです。もし私がこのようにすれば、私は上昇を減らし、値を最低限の条件にして流動的に動くようにする方法が必要です。あるいは、それを考えていない方法があれば、あなたは役に立つだろうと示唆することができます。固定開始点からマウスの座標までオブジェクトを移動しようとしています
答えて
あなたは今どのようにそれを描いていますか?以下は、私が作った/少しのゲームで弾を撃つのに使った方法です。
これは決して必要なコードのすべてではなく、場合によってはもっと良い方法があります(後でコメントセクションで教えてくれると確信しています:))あなたに働くための基礎を与えてください。
これは、再描画の速度を調整すること(fps)ですが、申し訳ありませんが、私はこれを今すぐ行う簡単な方法を覚えていません(私の実際の仕事に戻る必要があります)。助けてください。
//these set out the current position of your rectangle
double recX, reYy, recH, recW;
//this gives something to manage speed
int speed;
public void paintComponent(Graphics g) {
g.drawRectangle(recX,rexY,recH,recW);
}
//here we work out the movement
public void clickedScreen(double x, double y){
double newX = x;
double newY = y;
//calculate the speed to move at
vX = newX - recX;
vY = newY - recY;
//get the distance
length = Math.sqrt((v1*v1)+(v2*v2));
//make it a unit vector
v1 = v1/length;
v2 = v2/length;
}
public moveRec(){
recX = recX+(v1*speed);
recY = recY+(v2*speed);
}
while(true) {
moveRec();
repaint();
}
'Thread.sleep'を使ってアニメーションの速度を制御することができます。イベントディスパッチスレッドを一時停止するので、私はSwingでもこのメソッドを使用するのにいくつか問題がありました。これを克服するには、SwingWorkerを使用する必要があります。しかし、私がちょうど知らない速度を制御するもっと良い方法があるかもしれません... – BitFiber
うん、それはうまくいくかもしれない、または乱雑になる!私は、Javaゲームの本をどこかで入手したループを持っていますが、これは非常にうまくいきます。 –
ありがとうございました。これは私に大きな出発点を与えます。私は本当に感謝しています:-) – user519670
- 1. 開始点からGPS座標を計算する
- 2. 移動するオブジェクトの特定の点のx座標とy座標を見つける
- 3. FFmpeg固定座標のオーバーレイでビデオを移動する
- 4. マウス座標からX座標を設定する
- 5. テキストカーソルを特定の画面座標に移動しますか?
- 6. 固有座標:共座標フレームBの座標の点の座標。
- 7. MATLABはマウスカーソルを特定の座標に移動します
- 8. ブロードキャストレシーバーからアクティビティを開始しようとしています
- 9. タイル座標からマップ座標に移動するにはどうすればよいですか?
- 10. whats AはGPS座標点で表していますか?
- 11. jqueryを使用してマウスの座標に従って画像を移動します
- 12. マウス座標のウィンドウを開く
- 13. fireEventでマウス座標を設定する
- 14. タートルに特定の座標に移動するように頼みます
- 15. Java3D:世界座標でオブジェクトを回転していますか?
- 16. マウスカーソルの開始点と停止点はどのようにして決定できますか?
- 17. バグオブジェクトを移動して新しい座標を設定する際の修正
- 18. javascriptを使用して配列内の特定のオブジェクトからx座標とy座標を取得する
- 19. マウス座標をゲーム座標に設定するWebGL
- 20. LinearGradientで座標点がどのように機能しますか?
- 21. マウスの座標は?
- 22. ArcGISの座標に基づいてオブジェクトを検索しよう
- 23. UILabelを画面上のランダムな点に移動するように設定しようとしています
- 24. InputListener.touchDraggedに一貫性のない(点滅する)マウス座標
- 25. オブジェクトが特定のオブジェクトを移動させないようにしますか?
- 26. 自動番号 - 開始点を指定します
- 27. ImageViewでタップしながらX座標とY座標を取得します
- 28. javascriptのマウス座標ですか?
- 29. NSScreensで作業するとき、グローバル座標とローカル座標をどのように変換しますか?
- 30. PlaneBufferGeometry:頂点座標の起点を変更します。
あなたはスイング右の話をしている:
それのベアボーンは、次のようなものでしょうか? –
はい私は申し訳ありません、指定する必要があります – user519670
正解、私はそれを開始点からクリック点まで固定速度で移動したいです。 – user519670