これは私の最初の質問Stackoverflowです。 私はJavaでアドベンチャーゲームのIDEを作成しています。私はwalkableエリアを設定する必要があります。この図形は既に頂点で塗りつぶすことができるポリゴンで、新しい点を追加できます。問題は、マウスの位置がポリゴンの境界線上にあるかどうかを検出できないことです。これは、形状を変形することなく新しい頂点を作成するためです。ポリゴンの枠線をクリックし、この点をポリゴンに追加する方法
ポリゴンの境界線/ストロークを選択し、このイベントをPaintComponentから登録する方法はありますか?ユーザーが塗られたポリゴンの境界線に沿ってポイントをクリックすると、クリックした点と各線分間の距離を計算する必要があります知るために任意のヘルプ
今度はポリゴンの頂点を変形しないようにソートするメソッドを実装するだけで済みます。しかし、ポリゴンの境界にあるクリックイベントは完全に機能します。どうもありがとうございました! –
多角形の点はすでにソートされています。順序は描画の順序です。ポイントを中心(時計回りまたは反時計回り)でソートする場合は、 'Math.atan2(double theta)'を使用できます(http://gamedev.stackexchange.com/questions/13229/sorting-array-ofも参照してください)。 -points-in-clockwise-order) –