CCControlButtonでどうやって選択時の画像を指定するの?

2014年3月4日

CCControlButtonクラスのcreate関数には、1つしか画像を指定出来ません。
あれ?どうやって選択時の画像を指定したらいいのさ!
とまあ、最底辺ならそうなります。
デフォルトでは、指定した画像が少しだけズームしてタップされたことを表現するようです。
というわけで面倒ですが、以下のようにズームをOFFしてタップの画像を後から
設定することで対応することになりそうです。

CCRect rectInsets = CCRectMake(8,8,240,70);
CCScale9Sprite *offSprite = CCScale9Sprite::create(rectInsets, "off.png");
CCScale9Sprite *onSprite = CCScale9Sprite::create(rectInsets, "on.png");
onSprite->setColor(ccc3(50,80,128));
CCControlButton *button = CCControlButton::create(offSprite);
button->setZoomOnTouchDown(false);    // <= ここでズームをOFF
button->setBackgroundSpriteForState(onSprite, CCControlStateHighlighted); // <= ここでタップの画像指定

どなたか、もっといい方法があったら教えてください。

cocos2d-x

Posted by koheizi