如何改变CCDrawNode组件的颜色?

时间:2014-09-18 13:35:53

标签: objective-c cocos2d-iphone

我创建了一个CCDrawNode对象组件并想要更改    颜色,y最初用灰色创建对象,但如果我    想要改变颜色,颜色保持不变。

我试过了:

     CCDrawNode * node;
     [node setColor:colorORG]
     [node setColorRGBA:ColorORG]

此代码对组件的颜色没有任何影响任何建议    这个?在此先感谢!

1 个答案:

答案 0 :(得分:1)

在3.2.1下,CCDrawNode派生自CCNode,因此.color和.colorRGBA属性是可见的(来自CCNode)。但是,节点本身是一些绘制图元的容器,而且必须指定颜色的图元。

例如,我刚将其添加到我的一个MapLayout类中:

static CCDrawNode *dg;
if (!dg) {
    dg = [CCDrawNode node];
    [dg setColorRGBA:[CCColor cyanColor]];   // < does nothing !!!
    [self addChild:dg];
    // the following 2 lines add primitives, the color must be specified on each
    [dg drawDot:ccp(0,0) radius:50 color:[CCColor blackColor]];  // color the dot
    [dg drawSegmentFrom:ccp(0,0) to:ccp(80,80) radius:10 color:[CCColor blueColor]]; // color the line segment

    dg.visible=YES;
    dg.opacity=1.f;
}

显示在这里:

enter image description here