問題タブ [path-2d]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - path2d を使用してポリゴンを描画し、ポイントがその領域内にあるかどうかを確認するにはどうすればよいですか?
私は、path2d で複数の頂点を使用して任意の種類のポリゴン形状を描画しようとしています。後で、java.awt.geom.Area を使用して確定点がその領域内にあるかどうかを確認したいと考えています。
java - JPanel の Java Path2D.Double は「尾」で描画されます
JPanel で Path2D を描画すると、奇妙な動作が発生します。
このスクリーンショットでわかるように、一部の形状は尻尾のようなものになります。
タイプを Line2D.Double に変更すると、期待どおりになります。
パス/ラインを描画するコードは次のとおりです。
スクリーンショット 1 の「尻尾」がどこから来ているか分かりますか? SDK バージョン 6 を使用しています。
ご助力ありがとうございます
編集:コードスニペットをに変更するとき
テールのほとんど (おそらく 75%) が消えます。なぜこれが起こるのか分かりますか?
ios - グラフィック コンテキストを使用せずに 2D ポイントからジオメトリック パスを作成する。iOSで可能?
コード内のいくつかの重い数学機能をテストする方法が必要であり、そのようなコードが適切に機能していることを確認する必要があるところまで来ました。ポイントの配列に基づいてパスを作成し、このパスをグラフィックス コンテキストなしでテストに使用できるようにしたいと考えています。
例として、Java にはPath2Dクラスなどのさまざまなクラスがあり、何らかの種類のグラフィックス コンテキストで情報を表示する必要がない限り、あらゆる種類のコンテキストまたはビューから完全に独立しています。
Apple は、任意の幾何学的形状を作成、操作、および変更できる方法を提供していないようですが、私はここに来て確かめたかったのです。
java - Java クラスのキャスト例外 java.awt.geom.Path2D.Double
AffineTransform を実装しようとすると、このクラス キャスト例外が発生します。
AffineTransform への呼び出し:
これは、カスタム シェイプ クラス (YingYang) にあります。
呼び出しを行うたびに、これを描画パネルから、またはそれ自体のクラス内で YingYang にキャストしようとすると、クラス キャスト例外が発生します (戻り値の型を YingYang.
私はこのように電話をかけます:
これはエラーです:
java.lang.ClassCastException: java.awt.geom.Path2D$Double は Animation.YingYang にキャストできません
YingYang がシェイプ 1 を実装してからのアイデアは、これをキャストする必要はまったくないはずだと思うでしょう。重要な概念がありませんか?
java - 敵に同じ速度でパスをたどらせる
Javaでゲームのプログラミングを始めました。初めて経験を積むための基本的な2Dゲームである敵とプレイヤーがいます。
今度は、「レベル エディター」に描画できるパスを敵にたどらせたいと思いました。JPanel、mouseMoveListener があり、クリックすると、Path2D が mouseMove ポイントを Path2D.Double オブジェクトに保存し始めます。
その後、次の方法を実装して、敵がこのパスをたどるようにしました。
今何が起こっているかは明らかだと思います。敵は追いかけていますが、速度はマウスを動かしたのと同じです。したがって、マウスに移動して高速にすると、敵は..あるポイントから別のポイントに「ジャンプ」します。遅くするために、そのポイントを「こっそり」。(そして私はロボットではないので、同じ速度でマウスを動かすことはできません ^^)
ロボットの話: はい、awt.Robot にマウスを動かさせることができました。しかし、背後に目に見える数学がない複雑なパスを描画する必要があるため、これも実際には不可能です。
だから、このエネミーが同じ速度でこの道を進むようにしたい。私の問題: 「修正」を実装する場所がわかりません。私には2つのアイデアがあります:
パスの作成に取り組むことができるかもしれません: Path2D にポイントを追加するだけでなく、移動したポイント間のポイントを計算したり、互いに近くにあるポイントを削除したりすることができます。しかし: 第一に、これを計算する方法がわかりません (これを達成するための数学ロジックはありますか?) そして第二に、これを行うと、おそらくゲーム内の敵の速度を変更することができなくなります。悪いだろう
私が持っている2番目のアイデアは、(ジャンプするポイントよりも)間のポイントを計算することです。これは、実際の速度に対して、フレームごとに発生するはずです。しかし、ここでは数学の経験が十分ではありません。
それで、その方法は可能ですか?もしそうなら、誰かがこれを計算する方法を知っていますか?そうでない場合、これを達成するために他にどのような可能性がありますか?
ありがとう、下手な英語でごめんなさい!
java - Path2D の描画をアニメーション化する
私は、MS ペイントの鉛筆ツールを使用するように、ユーザーが画面上に描画できるようにし、ユーザーが描画を作成するプロセスを再生できるようにするプログラムを作成しています。
Path2D を使用してこれを行った方法で、moveTo メソッドと lineTo メソッドを使用して、パスを使用して線を描画します。
Path2D オブジェクトの再描画をアニメーション化する方法がわかりません。私の現在の戦略は、新しい Path2D を作成し、PathIterator を使用して、古いパスから新しいパスに線分を繰り返し追加することです。
これは私が今のところ考えていることです:
主な問題は、線分のサイズがわからないため、coords 配列のサイズを決める方法がわからないことです。また、セグメントを新しいパスに追加する方法もよくわかりません。Path2D の append メソッドを使用できるように見えますが、パス全体をそれ自体に追加しているように見えます。
Path2D が Shape であることは認識していますが、これを行う別の方法が見つからないようです。
java - Java Graphics2D Path2D 単純化または別のクラスからの呼び出し
正確なPath2D座標が多く、paintComponentが乱雑になっているため、リストを使用してコードをクリーンアップするか、別のクラスから呼び出すことができるかどうか疑問に思っています。
java - Javaでカスタム長方形を描く方法
私が求めているものにはほとんど重複があります:ほとんど重複しています
でも、上部の角を丸くしたい。
ドキュメントを参照してコードを変更しようとしましたが、Java でこの図面を作成するのは初めてで、うまくいきませんでした。:/
だから私の質問は、これをどのように変更するかです:
丸みを帯びた角を上の角にします。
これに役立つすべての回答に本当に感謝しています。
ありがとう
java - AffineTransform と setClip() の問題
解決済み:
タイル張りの 2D ゲームを作成中ですが、問題が発生しています。私のゲームでは、使用するペイントの種類ごとに領域としてキャッシュされる任意の形状のブラシ タイプを使用して、ユーザーがそこにマップを作成できます。特定のペイントのキャッシュ領域を取得したら、マップ全体で 100 x 100 の各タイルの交点から領域をタイル化された Path2D 形状に分割します。問題は、表示領域内のタイルを AffineTransform し、それをペイント用のクリップに設定すると、形状が元の形状から切り取られているように見えることです。
結果は、動きがある場合、実際の形状のタイル化されたカットオフ バージョンを生成します...
出力:
初期ビュー 右および下に移動した後のビュー
解決
行を編集