展会信息港展会大全

Cocos2d-x源码阅读1 UI树1(第一次系统而有成效的阅读源码的感悟),cocos2d-xui
来源:互联网   发布日期:2015-09-28 13:31:18   浏览:1670次  

导读: Cocos2d-x源码阅读1 UI树1(第一次系统而有成效的阅读源码的感悟),cocos2d-xui 之前我很少看源码,觉得枯燥又没有头绪。说实话现在看的也少,不过作为程序员要想成长,必须要突...

Cocos2d-x源码阅读1 UI树1(第一次系统而有成效的阅读源码的感悟),cocos2d-xui

之前我很少看源码,觉得枯燥又没有头绪。说实话现在看的也少,不过作为程序员要想成长,必须要突破自己的瓶颈吧。

也许我的天赋不在写代码这里,也许这是一个越走越难的路,也许这又是一个有金矿的浅坑,坚持下去就会挖到金矿。

然而没有那么多可以选择叻,试着去强大吧,即使自己不擅长,即使落后很多,即使,即使,即使,即使,。。。。

http://cn.cocos2d-x.org/tutorial/show?id=2157

推荐大家去这里看这个视频,自己看源码可能没有头绪,跟着王老师的视频效果还是很好的。

这里是我根据视频记录下来的主要的函数,涉及了Node的所有添加,删除,设置属性和查找,具体的细节还是大家自己去看视频对着源码阅读。感觉真不错。(*^__^*) ……

自己去看视频吧,去看吧。

virtual void ignoreAnchorPointForPosition(bool newValue) ;只能用于Scene和Layer,用在其他控件报错,为true则不管设置的锚点是多少,都以(0,0)作为锚点

virtual void setAnchorPoint(const Vec2& anchorPoint);用百分比设置本地化坐标系,就是自己坐标系

virtual const Vec2& getAnchorPoint() const;

返回的锚点的位置(百分比)

virtual const Vec2& getAnchorPointInPoints() const; 返回锚点的位置(具体像素值)

virtual void setPosition(const Vec2 &position); 是设置自己在父UI的坐标系的位置,position相对于OpenGL坐标系

virtual void setNormalizedPosition(const Vec2 &position); 用0-1之间的值设置位置,0-1之间是相当于 pos/getParent()->getContentSize();

virtual const Mat4& getNodeToParentTransform()

const;得到一个矩阵,可以转换子UI的坐标到父UI的坐标

virtual AffineTransform getNodeToParentAffineTransfrom() const; 得到一个仿射变换,可以转换子UI的坐标到父UI的坐标,比Mat4矩阵要小

virtual const Mat4& getParentToNodeTransform() const; 得到一个矩阵,可以转换父UI的坐标系到子UI的坐标系

virtual AffineTransform getParentToNodeAffineTransfrom() const; 得到一个仿射变换,可以把父UI的坐标系转换到子UI的坐标系

virtual Mat4 getNodeToWorldTransfrom() const;

virtual AffineTranfrom getNodeToWorldAffineTransfrom() const;

virtual Mat4 getWorldToNodeTransfrom() const;

virtual AffineTransfrom getWorldToNodeAffineTransfrom() const;

Vec2 convertToNodeSpace(const Vec2& worldPoint) const;

Vec2 convertToWorldSpace(const Vec2& nodePoint) const;

Vec2 convertToNodeSpaceAR(const Vec2&worldPoint) const;加入了锚点坐标系,如果锚点为(0,0)则和 convertToNodeSpace一样,否则以锚点为准

Vec2 convertToWorldSpaceAR(const Vec2& nodePoint) const;加入了锚点坐标系,如果锚点为(0,0)则和 convertToWorldSpace一样,否则以锚点为准

Vec2 convertTouchToNodeSpace(Touch * touch) const;

Vec2 convertTouchToNodeSpaceAR(Touch * touch) const;

virtual void addChild(Node * child, int localZorder, int tag);

virtual Node * getChildByTag(int tag) const;

virtual Node * getChildByName(const std::string & name) const;

virtual void setParent(Node * parent);

virtual Node * getParent() {return _parent;}

virtual void removeFromParent();

virtual void removeFromParentAndCleanup(bool cleanup);

virtual void removeChild(Node * child, bool cleanup = true);

virtual ssize_t getChildrenCount() const;

virtual void removeAllChildren();

virtual void removeAllChildrenWithCleanup(bool cleanup);

http://www.bkjia.com/Androidjc/955104.htmlwww.bkjia.comtruehttp://www.bkjia.com/Androidjc/955104.htmlTechArticleCocos2d-x源码阅读1 UI树1(第一次系统而有成效的阅读源码的感悟),cocos2d-xui 之前我很少看源码,觉得枯燥又没有头绪。说实话现在看的也...

赞助本站

人工智能实验室

相关热词: android开发 android教程

AiLab云推荐
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港