this.node不是指向场景里当前组件的节点吗,为什么在场景里创建的Sprite节点,也添加了图片(spriteFrame),然后给这个Sprite节点添加的组件里使用this.node却没有spriteFrame属性。
要怎样在组件里改变当前节点的spriteFrame?
this.node不是指向场景里当前组件的节点吗,为什么在场景里创建的Sprite节点,也添加了图片(spriteFrame),然后给这个Sprite节点添加的组件里使用this.node却没有spriteFrame属性。
要怎样在组件里改变当前节点的spriteFrame?
this.getComponent(cc.Sprite).spriteFrame = yourSpriteFrame
这个和你在properties中引入节点时设置的type有关
如果是这样设置
properties: {
mainSprite: {
default: null,
type: cc.Node
},
则this指的为Node组件,获取spriteFrame应为this.mainSprite.getComponent(cc.Sprite).spriteFrame
如果是这样设置
properties: {
mainSprite: {
default: null,
type: cc.Sprite
},
则this指的为Sprite组件,获取spriteFrame应为this.mainSprite.spriteFrame
因为Sprite也是node的一个组件
理解了,所以说Sprite不是继承自Node,而是Node的一个装饰器,一个组件。
之前没看这个文档。
http://www.cocos.com/docs/creator/content-workflow/node-component.html
