cocos2d的5个重要协议
来源:互联网 发布:28岁程序员转行 编辑:程序博客网 时间:2024/06/05 19:06
5个重要协议
- CCRGBAProtocol 支持RGBA着色协议
- CCBlendProtocol 支持纹理混合协议
- CCTextureProtocol 纹理协议
- CCLabelProtocol 文本框协议
- CCDirectorDelegate Director代理
CCRGBAProtocol 实现此协议的类可以设置 ccColor3B 类型的颜色 和 0-255 的透明度
@protocol
CCRGBAProtocol <
NSObject
>
// 设置 ccColor3B 结构的颜色数据
-(
void
) setColor:(ccColor3B)color;
-(ccColor3B)color;
// 如果纹理有 Premultiplied Alpha 数据 那么更改透明度同时会更改RGB通道的值
-(
void
)setOpacity:(GLubyte)opacity;
-(GLubyte)opacity;
// 可选实现
@optional
// 设置更改透明度时是否修改RGB值
// 如果设置YES, 透明度被设置时将会调用: glColor(opacity,opacity,
opacity,opacity)
// 如果设置NO, 透明度呗设置时将会调用: glColor(R,G,B,opacity)
// 纹理如果有 premultiplied alpha数据将会默认把此项设置为YES, 否则设置为NO
-(
void
)setOpacityModifyRGB:(
BOOL
)boolean;
// 返回更改透明度时是否修改RGB值
-(
BOOL
)doseOpacityModifyRGB;
@end
CCBlendProtocol 支持混合协议可以让对象指定GL不同的混合函数 ccBlendFunc 渲染纹理
@protocol
CCBlendProtocol <
NSObject
>
// 指定渲染函数
-(
void
)setBlendFunc:(ccBlendFunc)blendFunc;
-(ccBlendFunc)blendFunc;
@end
CCTextureProtocol 支持纹理协议可以使得对象使用纹理来渲染自己.
CCNode及其子类使用 Texture2D 类来渲染图片.
纹理可以包含一个 混合函数, 此函数可以在任意时间被更改
@protocol
CCTextureProtocol <
NSObject
>
-(CCTexture2D *)texture;
-(
void
)setTexture:(CCTexture2D *)texture;
@end
CCLabelProtocol 所有Label相关对象都实现此协议. 此协议提供一个设置标签文本的接口
@protocol
CCLabelProtocol <
NSObject
>
-(
void
) setString:(
NSString
*)label;
-(
NSString
*)string;
@optional
// 使用 C字符串, 此方法要比NSString快, 因为不需要向NSString发送alloc/retain/release消息
-(
void
)setCString:(
char
*)label;
@end
CCDirectorDelegate 实现 CCDirector代理 协议的类可以响应CCDirector的 设备旋转 更新投影的消息
@protocol
CCDirectorDelegate <
NSObject
>
@optional
// 当CCDirector 使用了自定义 Projection 并且在投影更新时,会向代理发送此消息
-(
void
) updateProjection;
// 检查当前应用是否支持指定的设备方向
-(
BOOL
)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation) interfaceOrientation;
@end
0 0
- cocos2d的5个重要协议
- Cocos2d中的五个重要协议
- 二叉树的5个重要性质
- cocos2d-x的几个重要概念
- 十八个重要的算法
- 32个重要的算法
- 3个重要的配置文件
- 32个重要的算法
- html5_依赖注入的5个重要的组件
- 写出完美CSS代码的5个重要方面
- 40个重要的HTML 5面试问题及答案
- spark RDD的5个重要内部属性
- html5 5个重要特性
- HTTP协议的几个重要概念
- HTTP协议的几个重要概念
- HTTP协议的几个重要概念
- [转帖]三个重要的邮件系统相关协议
- HTTP协议的几个重要概念
- android:versionCode和android:versionName
- JavaScript的垃圾回收机制
- 简单的 web List
- HTML5开发实现拍照上传应用
- FTP服务器LIST指令获取的文件列表信息解析(UNIX格式)
- cocos2d的5个重要协议
- Android 如何让EditText不自动获取焦点
- 你好
- IT界名言
- maven pom.xml详解
- 还原昆明火车站12分钟:民警喊来砍我引开歹徒
- 数据处理完毕后刷新页面问题(此做法免去了loading页面)
- Velocity语法大全
- ActiveMQ的消息重发与死信管理(DLQ)