分享

cookbook(CCnode篇4) demo大全

 爱蓝斯 2013-11-24
21.如何设置和获取倾斜度
virtual void setSkewX(float fSkewX);
virtual void setSkewY(float fSkewY);
可以通过setSkewX来设置以X轴为基轴的倾斜度
可以通过setSkewY来设置以Y轴为基轴的倾斜度
virtual float getSkewX();
virtual float getSkewY();
可以通过getSkewX来获取以X轴为基轴的倾斜度
可以通过getSkewY来设置以Y轴为基轴的倾斜度
22.如何建立和获取用户数据
有两种方法
virtual void setUserData(void *pUserData);
virtual void setUserObject(CCObject *pUserObject);
使用setUserData的时候有一点要注意的就是一定要记得在
改变此数据和节点自动释放之前自己手动释放内存
setUserObject和setUserData差不多,区别就是用一个object来代替void*
可以通过如下两个方法来获取你保存的信息
virtual void* getUserData();
virtual CCObject* getUserObject();
23.如何设置和获取着色点的信息
virtual void setShaderProgram(CCGLProgram *pShaderProgram);
可以通过setShaderProgram来设置着色点的相关信息(基于opengl2.0)
用法如下
node->setShaderProgram(CCShaderCache::sharedShaderCache()->programForKey(kCCShader_PositionTextureColor));
获取着色点信息的方法是
virtual CCGLProgram* getShaderProgram();
24.如何查询是否有开启事件回调(比如 onEnter(), onExit(), update())
virtual bool isRunning();
使用isRunning可以来查看 是否开启了事件回调
25.如何在lua脚本中响应事件回调
virtual void registerScriptHandler(int handler);
你可以使用registerScriptHandler来注册事件回调
具体使用方法如下
     * local function sceneEventHandler(eventType)
     *     if eventType == kCCNodeOnEnter then
     *         -- do something
     *     elseif evetType == kCCNodeOnExit then
     *         -- do something
     *     end
     * end
     * scene::registerScriptHandler(sceneEventHandler)
 如果你不需要事件回调了你可以调用一下接口来取消
 virtual void unregisterScriptHandler(void);
 你还可以用以下接口获取到当前回调函数是哪个
inline int getScriptHandler() { return m_nScriptHandler; };
26.如何在lua中使用定时器
void scheduleUpdateWithPriorityLua(int nHandler, int priority);
你可以通过scheduleUpdateWithPriorityLua来使用定时器
第一个参数是回调函数名
第二个参数是优先级
27.cocos2d-x是如何绘制图像的
virtual void draw(void);
virtual void visit(void);
为啥是两个?其实只有draw是用来绘制的,但是visit却是draw不可或缺的一部分,
那visit的作用是啥呢?
visit就是递归子节点同时用draw来绘制的
28.如何停止动作
void stopAllActions(void);
void stopAction(CCAction* action);
void stopActionByTag(int tag);
其中stopAllActions会停止所有在运行的动作,
而stopAction和stopActionByTag只会停止你指定的那个动作
stopAction需要的是一个动作的指针,而stopActionByTag只需要一个动作的标示就好
29.如何获取到你想要的动作
CCAction* getActionByTag(int tag);
通过getActionByTag你可以通过一个标示就简单的获取到了你想要的动作。
转载请务添加来源http://blog.csdn.net/eduwc/article/details/9997037

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多