2016-11-17 13 views
0

ちょっと私の学習を加速し、問題になったという小さなプロジェクトに取り組んでいます。クラスインスタンスのそれぞれにxとyの位置を持つarraylistがあります。それぞれがウィンドウ内に収まるようにマップされています。ユーザーがノード(クラスのインスタンスからマップされたx、y値のスクリーン上の楕円)をクリックできるようにする機能を実装する方法と、プログラムが何らかの形で画面の別の部分で、このノードに関する情報を表示するためのトグルを持って、私はコード例を探しているとhaventは私はここに私のsenarioでの作業を取得することができます1を見つけたが、私のクラスノード(クラスのインスタンス)がクリックされているかどうかを確認する

class Ship{ 
    float yPos; 
    float xPos; 

    Ship(String line){ 
     String[] parts = line.split(","); 
     xPos = float(parts[4]); 
     yPos = float(parts[5]); 
    } 
} 
私は

ですデータを必要であれば、私の例では、十分な私は、特定のパーツを追加しますイマイチので、もしそれ等のcsvファイルと分割、 は、私はあなたがいるかどうかを検出するためのロジックを追加する必要があり、事前に おかげで、 種類よろしく、 アンドリュー

+0

コードに実装が表示されていません。データセットだけです。より詳細に説明し、実装を提供してください。また、 'float yPos'と' float xPos'を 'private'にすることをお勧めします –

答えて

0

のコードの多くを持っていますマウスはオブジェクトの内部にあります。

これを行う方法は、オブジェクトの形状によります。

  • あなたのオブジェクトが円である場合は、単にマウスが円の内側にあるかどうかを確認するdist()機能を使用することができます。

  • オブジェクトが長方形の場合、カーソル位置がその長方形の内側にあるかどうかを確認するだけです。これを理解するのに役立ついくつかの例を紙に描く。

  • オブジェクトがグリッド内にある場合は、カーソル位置をグリッド位置にマップできます。

  • オブジェクトがポリゴンのように複雑であれば、ロジックは複雑になります。 Googleはこれとあなたの友人です。いずれの場合においても

、あなたは一緒にMCVEを入れて、何かをしようとする必要があるとしている(注:これはあなたの全体のスケッチすべきではない、それは我々が実行にコピーして貼り付けることができ、小さな一例であるべきより具体的な質問をしてください。がんばろう。

関連する問題