zwoptexで作ったplistファイルをcocos2dで読み込んでも表示されない場合の対処

公開日: : 最終更新日:2014/01/08 cocos2d

記事内に広告を含む場合があります。記事内で紹介する商品を購入することで、当サイトに売り上げの一部が還元されることがあります。

こんなコードを書いて

– (void)initSpriteFrameCache {
CCSpriteFrameCache * cache = [CCSpriteFrameCache sharedSpriteFrameCache];
[cache addSpriteFramesWithFile:@”texture.plist” textureFile:@”texture.png”];

CCSpriteBatchNode* batch = [CCSpriteBatchNode batchNodeWithFile:@”texture.png”];
[self addChild:batch];

CCSprite * blob = [CCSprite spriteWithSpriteFrameName:@”witch.png”];

blob.position = ccp( 160, 240 );

[batch addChild:blob];
}

画面に何も表示されなくてハマったので、メモ。

.plistの読み込み処理を追っかけてみた

// add real frames
for(NSString *frameDictKey in framesDict) {
NSDictionary *frameDict = [framesDict objectForKey:frameDictKey];
CCSpriteFrame *spriteFrame;
if(format == 0) {
float x = [[frameDict objectForKey:@”x”] floatValue];
float y = [[frameDict objectForKey:@”y”] floatValue];
float w = [[frameDict objectForKey:@”width”] floatValue];
float h = [[frameDict objectForKey:@”height”] floatValue];
float ox = [[frameDict objectForKey:@”offsetX”] floatValue];
float oy = [[frameDict objectForKey:@”offsetY”] floatValue];
int ow = [[frameDict objectForKey:@”originalWidth”] intValue];
int oh = [[frameDict objectForKey:@”originalHeight”] intValue];
// check ow/oh
if(!ow || !oh)
CCLOG(@”cocos2d: WARNING: originalWidth/Height not found on the CCSpriteFrame. AnchorPoint won’t work as expected. Regenerate the .plist”);

上記のコードでwidthが取得できず、0が代入されていた。

この前後のコードを追っかけてみたところ、.plistのフォーマットが正しく認識できていなかったことが分かった。あやしい。

zwoptexのPublish Settingsを確認する

そこでzwoptexの設定周りをチェックしてみたら、Publish時の形式を指定する設定が見つかった。

Texture zss 1

このアイコンをクリック。

Coordinates Formatをチェック

Zwoptex

cocos2dになっていなかったので、cocos2dに変更。

これでPuslishし直したら、.plistの読み込みが正常に動作し、スプライトを正しく画面に表示することができた。

関連記事

サンフランシスコのピア39にあるチャウダーズでクラムチャウダーを食す!

lolipop アップルの開発者向けイベント「WWDC2014」

ミスドのカルピスドーナツとカルピスポンデリングを食べてみた!

ミスドで期間限定のカルピスコラボ商品「カルピスドーナツ」と「カルピ

十三カレー計画で牛すじカレーネギのせを食す!(大阪・十三)

「iPhoneアプリ開発キャンプ@大阪」のランチで、十三カレー計画

大阪・難波の加寿屋 法善寺でかすうどんを食す。ランチタイムはおにぎり2個まで無料!

大阪・難波の加寿屋 法善寺 (かすうどん KASUYA)で、かす

ライブドアブログで運営していた「あきお商店」を「卵は世界である」に改名しました

少し前からライブドアブログで「あきお商店」というブログをやって

→もっと見る

PAGE TOP ↑