2011-07-15 4 views
0

私は基本的にルートの束を持っています(3D位置を考えてください)、私はそれらをビューに描画したいと思います。XCode Design - マップを作成するには?

私は実際にグラフィックスを使っていませんでしたが、XCode w/my Cocoaアプリでこのことをどうやって考えたらいいのでしょうか?

誰もが何か提案がありますか?

NSViewをサブクラス化する必要がありますか? OpenGLを使うべきですか?

ありがとうございます!

編集:だから私はNSViewのサブクラスをすることができました、ここを参照してください:http://groovyape.com/map.png

はこれが最善の方法ですか? (私はそれが2Dであることを認識しています、私は3D hehを試すのが怖いです)。人々がサークルをクリックできるようにするにはどうすればよいのですか?どうすればいいですか?あなたがやりたいために、様々なマウスイベントハンドラをオーバーライドすることができ、あなたのNSViewのサブクラスで

答えて

1

- (void)mouseDown:(NSEvent *)event; 
- (void)mouseDragged:(NSEvent *)event; 
- (void)mouseUp:(NSEvent *)event; 

次にあなたが丸は、彼らは「ときにあなたが知っているだろうしている場所を知るための方法が必要になりますあなたがNSポイントと半径としてサークルを持っている場合は、このようなものが動作します

- (BOOL)isPoint:(NSPoint)click inCircleAtPoint:(NSPoint)centre withRadius:(float)r 
{ 
    float dx = click.x - centre.x; 
    float dy = click.y - centre.y; 

    // Get the distance from the click to the centre of the circle 
    float h = hypot (dx, dy); 

    // is the distance less than the radius? 
    return (h < r); 
} 

- (void)mouseDown:(NSEvent *)event 
{ 
    NSPoint clickPoint = [event locationInWindow]; 

    if ([self isPoint:clickPoint inCircleAtPoint:mapPoint withRadius:5.0]) { 
     // Click was in point 
    } 
} 
関連する問題