绘图系统怎么用啊~~郁闷死了

我是个新手,按照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组件,有两种解决办法:

  1. 去属性检查器里给组件所在的节点添加cc.Graphics组件;
  2. 代码中判断若没有cc.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以外的没有挂载渲染组件的任何你想要加入的节点

嗯嗯,谢谢