同一のCCSpriteオブジェクト内でテクスチャを張り替える

| コメント(0) | トラックバック(0)
こんにちは。開発担当のICTFです。

右に行ける時は右矢印、左に行ける時は左矢印といった具合に、状況によって表示するイメージを変えたいといったことは無いでしょうか。
同じ座標に2枚のCCSpriteを重ね、表示・非表示を切換える方法が楽ではありますが、フレームレートの保持やメモリがギリギリの時など少しでも節約したい場合には控えたい方法ですね。

今回は、1つのCCSpriteオブジェクト内で複数のテクスチャを表示する為の方法を紹介しようと思います。
紹介といっても、している事はCCSpriteの初期化処理と大差ありません。

まずは普通にCCSpriteオブジェクトを生成します。

CCSprite* sprite = [CCSprite spriteWithFile:@"image1.png"];


このspriteオブジェクトに表示するイメージを「image2.png」に変更するには、次の手順を記述します。

CCTexture2D* tex = [[CCTextureCache sharedTextureCache] addImage:@"image2.png"];

[sprite setTexture:tex];

CGRect rect = CGRectMake(0, 0, sprite.contentSize.widthsprite.contentSize.height);

[sprite setTextureRect:rect];


setTextureメソッドのみだとテクスチャの切換えが行なわれませんので、忘れずsetTextureRectメソッドもコールするようにしてください。

トラックバック(0)

トラックバックURL: http://www.ict-fractal.com/MovableType/mt/mt-tb.cgi/33

コメントする

Twitterボタン
Twitterブログパーツ