こんにちは、現在進行中のプロジェクトを続行するために解決しなければならない問題を解決しようとしています。JPanel の角から、ユーザーが入力した角度によって決定されるパネルの境界線上の任意の点までの線をアニメーション化したいと考えています。
これに似た投稿の多くは、ラインのx2、y2をインクリメントするスイングタイマーを推奨していますが、私の問題は、関数によって決定されるため、描画されるラインがわからないことです。角度 (勾配) を考慮します。
たまたま 30 度だったとします...正しい角度の線をアニメーション化するためのピクセル単位の上昇と実行がわからないため、x2 と y2 をインクリメントすることはできません....
おそらく数学などでこれを支援するために利用できる関数はありますか....私はjavafx.animationも調べています
私は必ずしも正しい方向に向けられるための解決策を探しているわけではありません。ありがとうと思います
編集
別の投稿から:
こんにちは、ビリヤード台を横切るビリヤード ボールのパスを本質的に示すプロジェクトを実行しようとしています。基礎となる三角法は理解していますが、Java でのアニメーションの経験はありません。
現在、プール テーブルとして機能する JPanel があります。ボールは常に特定のポイントから始まります。
paint() を使用して線を「描く」方法は知っていますが、どうすれば簡単にアニメーション化できますか。
私の予感は、各パスで遅延を引き起こし、ループの各パスでラインの次のピクセルを描画するスイングタイマーを備えたループを使用して、ボールのパスをアニメーション化する (基本的に成長するラインをアニメーション化する) ことです。私の問題は、これらのピクセル値をどのように参照できるかです。たとえば、線が水平または垂直の場合、y2 または x2 の値をインクリメントしてパスごとに線を再描画できますが、線の傾きを変更できる場合、線の終点を取得する方法は理解していますが、それぞれについてはどうですかライン上のアクティブなピクセル座標。線オブジェクトを「描画」し、そのパス内の各ピクセルを何らかの方法で参照できますか? 私は PathIterator() を少し調べましたが、正しい軌道に乗っているとは確信していません (または、最も簡単で高レベルの軌道に乗っていないのではないかと心配しています)。
これを行う簡単な方法はありますか、それとも少なくとも正しい軌道に乗っていますか? 私は自分で研究していますが、学校でのソフトウェア エンジニアリング プロジェクトのためのものであり、アニメーションの側面が私たちのグループを本当に妨げているので、心配になっています.