CCNode,CCSprite是如何实现绘制的?
来源:互联网 发布:羊毛袜品牌 知乎 编辑:程序博客网 时间:2024/06/04 17:42
Node类的draw是空函数,没有真正描画,Node中有下面的解释
A Node is a "void" object. If you want todraw something on the screen, you should use a Sprite instead. Or subclass Nodeand override `draw`.
由此可见,真正的描画是在node的子类中,draw函数有以下注释,说明设置opengl的状态
/**
* Override this method to draw your ownnode.
* The following GL states will be enabledby default:
* -`glEnableClientState(GL_VERTEX_ARRAY);`
* - `glEnableClientState(GL_COLOR_ARRAY);`
* -`glEnableClientState(GL_TEXTURE_COORD_ARRAY);`
* - `glEnable(GL_TEXTURE_2D);`
* AND YOU SHOULD NOT DISABLE THEM AFTERDRAWING YOUR NODE
* But if you enable any other GL state,you should disable it after drawing your node.
*/
再看sprite类的draw函数中有
renderer->addCommand(&_quadCommand);
由此可见真正的描画是在sprite类中做的,再往下涉及到opengl的机制了,到此为止吧。
- CCNode,CCSprite是如何实现绘制的?
- 我对CCNode、CCSprite、CCLayer的理解
- 绘制CCNode的boundingBox
- cocos2d-iphone的各种层CCNode CCScene CCLayer CCSprite的锚点及宽高位置。
- CCSprite实现翻牌的效果
- cocos2d-x 中CCScene CCLayer CCSprite CCNode
- 【cocos2d-x】CCScene CCLayer CCSprite CCNode 描述
- cocos2d-x 中CCScene CCLayer CCSprite CCNode
- cocos2d-x 中CCScene CCLayer CCSprite CCNode
- cocos2d-x 中CCScene CCLayer CCSprite CCNode
- 第三天 图形的绘制以及CCNode ,CCArray,CCDictionary
- 浏览器是如何工作的系列:绘制
- Android是如何绘制View的
- 信息图一般是如何绘制的?
- js是如何实现拖拽raphael.js所绘制图像的
- 如何让制作一个可以保持圆角的CCSprite
- 重载是如何实现的?
- strcpy()是如何实现的?
- java过滤器的作用
- 网址
- python
- 目前看到过的各种杀毒引擎最具技术含量的评论
- “UnobtrusiveValidationMode 需要“jquery”ScriptResourceMapping”解决办法
- CCNode,CCSprite是如何实现绘制的?
- ECshop 数据库表结构
- http协议与http代理
- ubuntu安装Thrift
- PC端使用program來CHGUSRPRF
- 安卓点击屏幕空白处消除软键盘--edittext
- python比较两个文件的差异
- บาคาร่ามีบริการการเดิมพันที่หลากหลาย
- MessageBox、::MessageBox 、AfxMessageBox三者的区别