あなたの間違いは、本の次の部分も読んでいないことのようです。次のセクションを完了すると、このような警告なしでコードをコンパイルできるようになります。
本のそのセクションのより完全な抜粋は次のとおりです。
そして、GameSceneメソッドで、次に説明するメソッドへの呼び出しを直後にinit
追加します。initSpiders
scheduleUpdate:
-(id) init {
if ((self = [super init]))
{
… 96 CHAPTER 4: Your First Game
[self scheduleUpdate];
[self initSpiders];
}
return self;
}
その後、クモのスプライトを作成するリスト 4–8 のメソッドから始めて、かなりの量のコードがGameScene
クラスに 追加されます。initSpiders
リスト 4–8。 簡単にアクセスできるように、スパイダー スプライトを初期化して CCArray に追加
-(void) initSpiders
{
CGSize screenSize = [[CCDirector sharedDirector] winSize];
// using a temporary spider sprite is the easiest way to get the image's size
CCSprite* tempSpider = [CCSprite spriteWithFile:@"spider.png"];
float imageWidth = [tempSpider texture].contentSize.width;
// Use as many spiders as can fit next to each other over the whole screen width.
int numSpiders = screenSize.width / imageWidth;
// Initialize the spiders array using alloc.
spiders = [[CCArray alloc] initWithCapacity:numSpiders];
for (int i = 0; i < numSpiders; i++)
{
CCSprite* spider = [CCSprite spriteWithFile:@"spider.png"];
[self addChild:spider z:0 tag:2];
// Also add the spider to the spiders array.
[spiders addObject:spider];
}
// call the method to reposition all spiders
[self resetSpiders];
}