cocos2d-x ではなく、cocos2d-iphone の場合です。

-x も基本的に一緒?


HelloWorldLayer を例に取れば、プロジェクト作成時はサブクラスが CCLayer になっているので、まずはそれを変えます。

HelloWorldLayer.h

@interface HelloWorldLayer : CCLayer
@interface HelloWorldLayer : CCLayerColor

↑この +, - は変更前(-)、変更後(+) を意味します。バージョン管理等でお馴染みですが、プログラムを初めて浅い方や慣れ親しんでないときは何のことやら!と思ったものです(余談)。 


CCLayerColor は CCLayer を継承している拡張クラスなので、同じメソッドは使えますし基本的に振る舞いは変わりません。

”拡張されてる”ところがポイントですね!

その拡張により、初期化時に背景色を指定できるようになります。 Yeah!



HellowWorldLayer.m に移ります。

init メソッドで初期化している部分があるので、背景色を指定して初期化するように直せばOKです。


HelloWorldLayer.m

- if( (self=[super init]) ) {
+ if( (self=[super initWithColor:ccc4(255, 255, 255, 255)]) ) {



こんな感じで背景色を白にすることができます。

0-255 で割合を指定。最後は透明度で、0ほど透明になります。


そんなわけで、今頃 cocos2d-iphone