Cocos2d-x C++ Node 源码简析

文章目录简介属性介绍rotationscalepositionskewanchor pointcontent sizetransformz ordertagnameuser data/objectrunningvisibleisTransitionFinishedopacitycolorcamera maskcallbackattached node count函数介绍void cleanup()...
摘要由CSDN通过智能技术生成

简介

Node是在场景图像中显示图像最基础的元素,所有场景图像上的元素都是Node的子类。Node拥有图像的一些基本属性,如位置、大小、锚点等,也可以对图像进行一些改变,如缩放、旋转、偏斜等。同时,Node可以包含其他Node,形成层级关系(比如把衣服节点、鞋子节点添加到人节点上,这样移动人节点时衣服节点和鞋子节点就会一起移动),也可以监听事件(如节点进入场景、退出场景时)、执行定时器(比如枪每1秒发射一颗子弹,可以用定时器实现)、执行动作(比如放大、平移等)等。

属性介绍

rotation

节点的旋转角度,可以根据x、y、z轴进行旋转,以顺时针为准,默认为0。

scale

节点的缩放比例,可以单独根据x、y、z轴进行缩放,默认为1。

position

节点的位置,默认受anchor point影响,可以设置_ignoreAnchorPointForPosition为true使位置始终按照anchor point为(0, 0)的情况计算(忽略anchor point对位置的影响),默认为(0, 0)。

skew

节点的偏斜角度,setSkew会保证节点宽高大小不变(会产生拉伸),而setRotationSkewX/Y会在保证宽不变的情况下图像不变形(看起来更有3D效果),默认为0。如图所示:
skew示例

anchor point

节点的锚点,用于position定位(位置是相对于某点来说的,这个点就是锚点)、旋转的中心点等。_anchorPointInPoints记录锚点的具体相对位置,在节点大小更新或锚点更新时会同步更新。锚点默认为(0.5, 0.5)。

content size

节点的原始大小,即使节点进行了scale、rotation等操作仍会返回原本的节点大小。

transform

节点的变换矩阵,修改节点的 会改变显示的属性 时,这个矩阵都需要重新计算。cocos使用延迟计算的方式提升性能,减少多余的计算。

z order

节点的渲染顺序,这个顺序由3个值决定:_globalZOrder、_localZOrder、_orderOfArrival。优先级为_globalZOrder > _localZOrder > _order

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值