Archive for 3月, 2013

[Cocos2d-x] CCLayerGradient クラスを使用してグラデーションを描画する

0

CCLayerColor クラスを使用するとレイヤの背景に色を付けることができますが、CCLayerGradient クラスを使用するとレイヤにグラデーション付けることができます。

CCLayerGradient::create メソッドの引数にグラデーションの開始色、終了色、グラデーションの方向を指定します。最後のグラデーションの方向はアンカーポイントの指定と同じように、左下が (0, 0) 、右上が (1, 1) になります。

ccColor4B yellow = ccc4(255, 255, 0, 255);
ccColor4B black  = ccc4(0, 0, 0, 255);
CCLayerGradient* layer = CCLayerGradient::create(yellow, black, ccp(1.0f, 1.0f));
this->addChild(layer);

グラデーションを表示

グラデーションを表示


(続きを読む…)

[Cocos2d-x] CCDrawNode クラスを使用して線、図形を描画する

0

2013.5.25 追記
CCDrawNode を Android で使用する場合、「色が正しく表示されない」「透過ができない」という問題があります。これを解消するには CCDrawNode::render メソッドの下記行の GL_FALSE を GL_TRUE に修正してください。

glVertexAttribPointer(kCCVertexAttrib_Color, 4, GL_UNSIGNED_BYTE, GL_FALSE, sizeof(ccV2F_C4B_T2F), (GLvoid *)offsetof(ccV2F_C4B_T2F, colors));

参考 URL
CCDrawnode not respecting alpha?

CCDrawNode クラスを使用して線や図形を描画する方法です。レイヤに追加した CCDrawNode のインスタンスに draw 系のメソッドを使用して簡単に線や図形を描画することができます。

—– 追記ここまで —–

まず、CCDrawNode をレイヤに追加します。

CCSize size = CCDirector::sharedDirector()->getWinSize();
CCDrawNode* node = CCDrawNode::create();
node->setPosition(ccp(size.width/2, size.height/2));
this->addChild(node);

(続きを読む…)

Go to Top