cocos2d:当鼠标经过时更改CCMenuItemImage?

时间:2013-01-17 23:32:07

标签: cocos2d-iphone mouseover ccmenuitem ccmenu

当鼠标经过CCMenuItem时,有没有人知道动画CCMenuItem的简单方法。

我已阅读此帖:

Cocos2d CCMenuItem animation upon selection

似乎涵盖了Cocoa Touch,但对于我来说对OS X不起作用。

cocos2d引用列出了CCMenuItemImage的这种方法:我用这种方法:

CCMenuItem *beginButtonMenuItem = [CCMenuItemImage itemWithNormalImage:@"BeginButton3.png" 
                                                     selectedImage:@"BeginButtonSel3.png"
                                                            target:self
                                                        selector:@selector(beginButtonPressed:)];

但是,只有在点击鼠标时,该菜单项才会通过更改图像来响应。

CCMenuItem引用具有以下方法:

  • (void)选中,说明“该项目已被选中(未激活),类似于”鼠标悬停“”

但没有示例代码...

任何人都可以帮忙实现这个吗?

由于

1 个答案:

答案 0 :(得分:0)

我发现,当鼠标经过CCMenuCCMenuItem将任意selected更改为[window_ setAcceptsMouseMovedEvents:YES];状态非常容易,从而使其具有悬停效果。首先,请确保您已设置CCMenu.m

然后将此函数添加到ccMouseDragged(可能只是在- (BOOL) ccMouseMoved:(NSEvent *)event { if( ! _visible || ! _enabled) return NO; CCMenuItem *currentItem = [self itemForMouseEvent:event]; if(!currentItem) { if(_highlightedItem != _selectedItem) { [_highlightedItem unselected]; } [_highlightedItem release]; _highlightedItem = nil; return NO; } if (currentItem != _highlightedItem) { [_highlightedItem unselected]; _highlightedItem = currentItem; [_highlightedItem retain]; [_highlightedItem selected]; } return YES; } 定义之后):

{{1}}