[cocos2d 2.x] CCMenuの画像でCCSpretFrameクラスを使う方法

[cocos2d 2.x] CCMenuの画像でCCSpretFrameクラスを使う方法
   

cocos2dのver2では色々な変更点がありその修正には、初心者の私にはとても大変なものでした。
その中で、CCMenuに関していくつか問題がありましたので、その解決方法をブログで紹介していきたいと思います。

CCMenuItemImageクラスの変更点

cocos2dをver2にした時に、「itemFromNormalImage」が使えなくなっているので、これをまず変更しなくてはいけません。
//coco2d ver1
ButtonItem1 = [CCMenuItemImage itemFromNormalImage:@"menuA.png" selectedImage:@"menuB.png" target:self selector:@selector(aboutCallback:)];


//cocos2d ver2 こちらに変更
ButtonItem1 = [CCMenuItemImage itemWithNormalImage:@"menuA.png" selectedImage:@"menuB.png" target:self selector:@selector(aboutCallback:)];

「itemFromNormalImage」が「itemWithNormalImage」に変わっただけなのでコピペをして変更できます。

CCSpretFrameをCCMenuで利用する

ここからが本題です。

cocos2dのver1では、先ほど書いたCCMenuItemImageに関してはCCSpretFrameも利用できたのですが、cocos2dがver2になった際に利用できません。
そのために、もう一行新しくコードを書いてあげる必要があります。

    CCSpriteFrame *frame = [[CCSpriteFrameCache sharedSpriteFrameCache] spriteFrameByName:@"menuA.png"];
    CCSpriteFrame *frame2 = [[CCSpriteFrameCache sharedSpriteFrameCache] spriteFrameByName:@"menuB.png"];
    CCSpriteFrame *frame3 = [[CCSpriteFrameCache sharedSpriteFrameCache] spriteFrameByName:@"menuC.png"];


    [newButton setNormalSpriteFrame:frame];
    [newButton setSelectedSpriteFrame:frame2];
    [newButton setDisabledSpriteFrame:frame3];

CCmenuItemImageで指定できる画像をCCSpriteFrameで個別で設定できます。
これで完了です。

Related Posts Plugin for WordPress, Blogger...