2011-09-30 7 views
0

nscursor를 사용하여 게임에서 사용자 정의 커서를 사용하려고합니다. 나는 코드NSCursor를 사용하여 사용자 정의 커서를 표시하는 방법

 

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

내가 resetcursorrect 방법에 커서 RECT를 설정하고있다에게 다음 사용하는 사용자 정의 커서가 나타납니다

 
 
- (void)resetCursorRects 
{ 

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

} 
 

, 그것은 (알림) 시스템 커서로 다시 전환 시간, 몇 번 일치하지 않습니다 그것은 돌아오고 때로는 돌아 오지 않습니다. 너무 혼란 스럽다. 'setOnMouseEntered', 'pop'을 사용해야하는지 잘 모르겠습니다. nscursor를 사용하고 동적으로 변경하는 표준 방법은 무엇입니까?

답변

1

커서를 현재 커서로 변경하고 있습니다. 현재 커서는 전혀 변경되지 않습니다. 사용자 정의 커서를 표시하려면 커서 rect를 작성할 때 사용자 정의 커서를 전달해야합니다.

+0

동의하지만, 언제 [NSCursor pop], [NSCursor push]를 사용해야합니까? 내가 [NSCursor push]를 사용하면'[auto addCursorRect : currentViewPortRect cursor : [NSCursor currentCursor]];를 사용할 수 있습니다. – shakthi

+1

@shakthi : 일반적으로해서는 안되며'- [NSCursor set]'도 마찬가지입니다. 커서 rect를 사용할 때 커서를 수동으로 변경할 필요가 없으며 커서를 수동으로 변경하면 안됩니다. 'currentCursor'를'addCursorRect : cursor :';로 넘겨서는 안됩니다. 커서를 추가하는 지점은 사용자가 커서를 넘어갈 때 커서를 변경하는 것입니다. 현재 커서를 현재 커서로 변경하는 것은 의미가 없습니다. 사용자 정의 커서로 커서 rect를 추가하기 만하면됩니다. –

+0

고마워요. 나는 일주일 동안 고심하여 그것을 똑바로 만들었다. – shakthi

관련 문제