2011-09-30 12 views
0

自分のゲームでnscursorを使用してカスタムカーソルを使用しようとしています。私は、カスタムカーソルが表示され、それはいくつかの回、時にはそれが(アラート)システムカーソルに切り替わり、一貫していない私はNSCursorを使用してカスタムカーソルを表示する方法

 
 
- (void)resetCursorRects 
{ 

    [self addCursorRect:currentViewPortRect cursor:[NSCursor currentCursor]]; 

} 
 

resetcursorrect方法でカーソルRECTを設定しています次のコード

 

//While initializing openglview 
    mCustomCursor = [[NSCursor alloc] initWithImage:image hotSpot:NSZeroPoint]; 
    [image release]; 
[mCustomCursor set] 
 

を使用しますそれは戻ってくるといつかではありません。それはとても混乱しています。私は 'setOnMouseEntered'、 'pop'を使うべきかどうか分からない。 nscursorを使用して動的に変更する標準的な方法は何ですか?

答えて

1

カーソルを現在のカーソルに変更していますが、カーソルはまったく変更されていません。独自のカスタムカーソルを表示するには、カーソルrectを作成するときにカスタムカーソルを渡す必要があります。

+0

合意しましたが、[NSCursor pop]、[NSCursor push]はいつ使うべきですか?私が[NSCursor push]を使用した場合、 '[self addCursorRect:currentViewPortRect cursor:[NSCursor currentCursor]];' – shakthi

+1

@shakthi:あなたは一般的にはいけません。カーソルrectを使用する場合、手動でカーソルを変更する必要はありません。手動でカーソルを変更する必要はありません。 'currentCursor'を' addCursorRect:cursor: 'に渡さないでください。カーソルを追加するポイントは、ユーザーがカーソルを上に移動したときにカーソルを変更することです。現在のカーソルを現在のカーソルに変更することは意味をなさない。カスタムカーソルをカーソルの欄に追加するだけです。 –

+0

ありがとうございます。私はそれをまっすぐにするために一週間苦労していた。 – shakthi

関連する問題