ラベル array の投稿を表示しています。 すべての投稿を表示
ラベル array の投稿を表示しています。 すべての投稿を表示

2013年3月31日日曜日

arrayはまず初期化(自分への戒め)


ヘッダファイルでNSArrayやNSMutableArrayを用意して、
implementationで使おうと思ったら、うまくいかない。

で、
    NSMutableArray *array=[NSMutableArray array];

といった準備をしなくてはいけないことを思い出す。。。。

前にもやりましたが、またやりました。
ハズカシイ初心者ぶりです。
intなどなら、そのまま使えるので、油断。

戒めのため、覚えておくため、記事化。

2013年2月5日火曜日

CCSpriteを配列にloop格納するために。(未解決)

arrayにCCSpriteを複数突っ込んでいこうと思って、ググった。

以下が良さそう。
http://www.cocos2d-iphone.org/forum/topic/30297

CCArray *spriteArray = [CCArray arrayWithCapacity:10];

for (int i = 0; i < 10; i++)  {
     [spriteArray addObject:[CCSprite spriteWithFile:@"test.png"]];
}

// Retrieve reference
CCSprite *sprite = (CCSprite*)[spriteArray objectAtIndex:i];
なるほど。

CCArrayを作っておいて、
addObject:していって、
(CCSprite*)でCCSpriteオブジェクトとして配列から取得、と。

それで、
NSString *name = [NSString stringWithFormat:@"sprite%d", i];
[spriteArray addObject:[CCSprite spriteWithFile:name]];
こんな感じで、連番にした名前から配列を生成できるだろうか。

さて、やってみよう。

:::::::::::::::::::::::::::::::

というわけで、小さな丸「comal」を複数突っ込んだspriteAtlasをTexturePackerでつくって、以下のようなコードを書き書き。


        CCSpriteFrameCache *cache = [CCSpriteFrameCache sharedSpriteFrameCache];
        [cache addSpriteFramesWithFile:@"comalAtlas.plist"];
        
        for(int i=1;i<7;i++){
            NSString *name=[NSString stringWithFormat:@"comal%d.png",i];
            CCSprite *comal = [CCSprite spriteWithSpriteFrameName:name];
            comal.position=ccp(100*i,100*i);
            [self addChild:comal];
        }
無事、表示されました。

が、上記を参考にした配列を使ってみると、エラーで止まるので、要調査。
まだ、CCArrayについて、よく分かっていないようです。自分。