我是个新手,按照API的范例写了一段代码,
var ctx = node.getComponent(cc.Graphics);
ctx.moveTo(20,100);
ctx.lineTo(20,20);
ctx.lineTo(70,20);
ctx.stroke();
总是报错node未定义,
用this.getComponent(cc.Graphics);
又报错位ctx为空。
有没有高手帮忙解惑~感激不尽~~
最好给段范例~~
我是个新手,按照API的范例写了一段代码,
var ctx = node.getComponent(cc.Graphics);
ctx.moveTo(20,100);
ctx.lineTo(20,20);
ctx.lineTo(70,20);
ctx.stroke();
总是报错node未定义,
用this.getComponent(cc.Graphics);
又报错位ctx为空。
有没有高手帮忙解惑~感激不尽~~
最好给段范例~~
组件代码里,node要通过this.node来访问,直接写node.getComponent()会报node未定义。然后this.node.getComponent()和this.getComponent()是一样的。ctx为空是因为你没有给节点添加Graphics组件,有两种解决办法:
var ctx = this.getComponent(cc.Graphics);
if (!ctx) ctx = this.addComponent(cc.Graphics);
谢谢toddlxt帮忙解惑~已经成功编译了,以前确实没用过cocos和js,感觉这样基础的东西都不会,汗颜。看来需要把全部api都扒一遍啊。。。
如果加了下面一行加组件的代码,然后又提示说Should not add renderer component (cc.Graphics) to a Canvas node.
提示告诉你,不应该把cc.Graphics组件添加到canvas节点上,因为canvas是用来做屏幕适配的,不应该在canvas上挂载渲染类的组件
那我可以在什么节点加入cc.Graphics组件
Canvas以外的没有挂载渲染组件的任何你想要加入的节点
嗯嗯,谢谢