cocos2D创建一组单选按钮菜单
来源:互联网 发布:手机淘宝网充话费 编辑:程序博客网 时间:2024/06/12 12:25
看了一下CCMenu类的实现,主要包含以下几个关键参数:
- selected_成员变量,配合selected和unselected方法设置CCMenuItemImage中SelectedItemImage是否显示。
- state_成员变量有2种状态,当TouchBegan的时候设置为Tracking状态,TouchEnd的时候设置为Waiting状态。
- activate方法使得当前CCMenuItem获得焦点,真正的被选中。
CCMenuItem *curSelection = [self itemForTouch:touch];该变量用来记录当前touch的CCMenuItem
创建一个CCRadioMenu类继承自CCMenu类
1. curHightLighted_ 成员变量,表示当前选中的Item
CCRadioMenu.m文件主要内容如下:
- (void)setSelectedItem: (CCMenuItem *)item{ [selectedItem_ unselected]; selectedItem_ = item; [selectedItem_ selected];}
-(BOOL) ccTouchBegan:(UITouch *)touch withEvent:(UIEvent *)event{if( state_ != kCCMenuStateWaiting || !visible_ )return NO;CCMenuItem *curSelection = [self itemForTouch:touch]; [curSelection selected]; _curHightlighted = curSelection; if (_curHightlighted) { if (selectedItem_ != curSelection) { [selectedItem_ unselected]; state_ = kCCMenuStateTrackingTouch; return YES; } }return NO;}-(void) ccTouchEnded:(UITouch *)touch withEvent:(UIEvent *)event{NSAssert(state_ == kCCMenuStateTrackingTouch, @"[Menu ccTouchEnded] -- invalid state"); CCMenuItem *curSelection = [self itemForTouch:touch]; if (curSelection) { if (curSelection != _curHightlighted) { [_curHightlighted unselected]; selectedItem_ = curSelection; [selectedItem_ selected]; [selectedItem_ activate]; _curHightlighted = nil; state_ = kCCMenuStateWaiting; return; } } [selectedItem_ unselected]; selectedItem_ = _curHightlighted; [selectedItem_ selected]; [selectedItem_ activate]; _curHightlighted = nil;state_ = kCCMenuStateWaiting;}
用法如下:
CCRadioMenu *radioMenu = [CCRadioMenu menuWithItems:menuItem1, menuItem2, menuItem3, nil]; [radioMenu setSelectedItem:menuItem1]; [radioMenu alignItemsVerticallyWithPadding:(20.0/480)*winSize.height]; radioMenu.position = ccp(winSize.width/2, winSize.height/2); [self addChild:radioMenu z:2];
- cocos2D创建一组单选按钮菜单
- cocos2d-x 单选按钮菜单
- 创建一组只能单选的选项菜单
- cocos2d-x 3.0 图片按钮,文字按钮,菜单按钮,单选按钮,开关按钮
- 添加一组可以选择背景颜色的单选按钮
- 判断一组单选按钮是否有被选中的
- php学习笔记之动态生成一组单选按钮
- ToggleButtonBar--创建一组状态按钮
- COCOS2D创建菜单,按钮区域和文字显示不一致
- cocos2d 简单的单选按钮
- cocos2d-js 3.0 单选按钮
- javascript如何判断一组单选按钮中某一指定的按钮被选择
- cocos2d创建不规则按钮
- xla创建菜单按钮
- 在cocos2d里面如何制作按钮:简单按钮、单选按钮和开关按钮
- 5. 在cocos2d里面如何制作按钮:简单按钮、单选按钮和开关按钮
- 在cocos2d里面如何制作按钮:简单按钮、单选按钮和开关按钮
- (译)在cocos2d里面如何制作按钮:简单按钮、单选按钮和开关按钮
- 黑马程序员-静态代码块、构造代码块、构造函数的区别、
- JAVA 拼接字符串 加号问题 + StringBuilder/StringBuffer
- ZXing android Could not find class 'com.google.zxing.ResultPoint'
- 标C编程基础01
- leetcode(longest consecutive sequence)
- cocos2D创建一组单选按钮菜单
- Eclipse开发内核模块
- 在linux上如何解压 .zip的文件
- serialVersionUID作用
- C语言面试题英文版
- android 完全退出应用程序
- 使用select函数的TCP和UDP回射服务器程序
- 羊皮卷
- 数据结构基础_栈和队列