cocos2d学习之CCControl

cocos2d学习之CCControl,第1张

概述CCControl是cocos2d组件里面处理触摸和鼠标事件的抽象基类,不能实例化它,只能使用它的子类,比如CCButton.如果你想创建新的组件,必须继承该类。并且,假如你创建了该类的子类,你必须加入CCControlSubclass.h file这个头文件,因为它包含了一些没有对外暴露的方法 CCControl的属性: @property (nonatomic, assign) CGSize

CCControl是cocos2d组件里面处理触摸和鼠标事件的抽象基类,不能实例化它,只能使用它的子类,比如CCbutton.如果你想创建新的组件,必须继承该类。并且,假如你创建了该类的子类,你必须加入CCControlSubclass.h file这个头文件,因为它包含了一些没有对外暴露的方法

CCControl的属性:

@property (nonatomic,assign) CGSize preferredSize//首选(优先)尺寸,组件展示的最优(同时也是最小)的尺寸。如果组件的内容比较大,将会展示一个大的尺寸

首选尺寸类型

组件展示的最大尺寸,如果内容比这个尺寸更大,组件的内容将会收缩



决定控件是否高亮的状态值 比如按钮的压下去(down)的状态

触摸或者鼠标事件时返回true


CCControl的方法

- (voID)setTarget:(ID)targetselector:(SEL)selector//控件触发一个action的时候,调用的方法

- (voID)triggerAction//子类使用的一个方法 当组件触发一个action回调方法的时候调用该方法

- (voID)stateChanged//子类使用的一个方法 当组件的状态改变的时候调用该方法,它的默认行为是调用needsLayout方法

- (voID)needsLayout//子类使用的一个方法 该方法应当在组件需要更新布局的时候调用 它会在下一帧开始的时候强行调用layout方法

- (voID)layout//子类使用的一个方法 子类需要覆盖此方法,在此方法里进行控件的布局,比如设置控件位置以及控件尺寸

- (voID)setValue:(ID)valueforKey:(Nsstring *)keystate:(CCControlState)state//子类使用的一个方法 当你的控件有自定义的属性时,通过键值对进行设置你的自定义属性

- (ID)valueForKey:(Nsstring *)子类使用的一个方法 子类需要覆盖此方法 根据键值对获得你自定义的属性

- (voID)touchEntered:(UItouch *)touchwithEvent:(UIEvent *)event//子类使用的一个方法 当一个触摸进入组件时被调用 默认的,当一个touch down发生在此控件尺寸范围里,该方法被调用。当claimsUserEvents这个属性设置成false的时候,touch发生在此空间之外也会被调用

- (voID)touchExited:(UItouch *)event//当触摸从控件移走的时候被调用

- (voID)touchUpInsIDe:(UItouch *)event//当一个触摸开始和结束都是在组件尺寸内部的时候被调用

event//当一个触摸开始在控件尺寸内部 结束在控件尺寸外部的时候被调用

以下是鼠标移动相关方法

- (voID)mouseDownEntered:(NSEvent *)event//

- (voID)mouseDownExited:(NSEvent *)event//

- (voID)mouseUpOutsIDe:(NSEvent *)event//

- (voID)mouseUpInsIDe:(NSEvent *)event//



这个类用到的很少,除非你自定义一些控件。我相信:cocos2d会提供一些经常用到的控件,我们基本用不着去自定义。呵呵

总结

以上是内存溢出为你收集整理的cocos2d学习之CCControl全部内容,希望文章能够帮你解决cocos2d学习之CCControl所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1009743.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-22
下一篇 2022-05-22

发表评论

登录后才能评论

评论列表(0条)

保存