2013-09-12 7 views
0

Im get This Error Instance method '-setTouchEnabled:' not found (тип возврата по умолчанию - 'id') Я не знаю, что вызывает его, любая помощь будет очень оценил :) Heres мой код жаль, если его неаккуратноПолучение странной ошибки, я использую cocos2d

- (id) init 
{ 
    if ((self = [super init])) { 
     CGSize winSize = [CCDirector sharedDirector].winSize; 
     CCSprite *player = [CCSprite spriteWithFile:@"start.png"]; 
     player.position = ccp(player.contentSize.width/2, winSize.height/2); 
     [self addChild:player]; 
     [self schedule:@selector(gameLogic:) interval:0.5]; 
     [self setTouchEnabled:YES]; 
     _monsters = [[NSMutableArray alloc] init]; 
     _projectiles = [[NSMutableArray alloc] init]; 

     // stuff that needs updating 
     [self schedule:@selector(update:)]; 
     //labels 
     StrategyBullet = 10; 
     Strategyscore = 0; 
     CCLabelTTF *label2 = [CCLabelTTF labelWithString:@"Ninja stars " fontName:@"Arial" fontSize:15]; 

     label2.position = ccp(400,310); 

     label2.color = ccc3(255, 0, 0); 

     [self addChild: label2 z:1]; 

     CCLabelTTF *label = [CCLabelTTF labelWithString:@"Score" fontName:@"Arial" fontSize:15]; 

     label.position = ccp(30,310); 

     label.color = ccc3(255, 0, 0); 

     [self addChild: label z:1]; 

     StrategyscoreLabel = [CCLabelTTF labelWithString:@"0" fontName:@"Arial" fontSize:14]; 
     StrategyscoreLabel.position = ccp(65, 310); 
     StrategyscoreLabel.color = ccc3(255, 255, 255); 
     [self addChild:StrategyscoreLabel z:1]; 

     StrategyBulletLabel = [CCLabelTTF labelWithString:@"0" fontName:@"Arial" fontSize:14]; 
     StrategyBulletLabel.position = ccp(450, 310); 
     StrategyBulletLabel.color = ccc3(255, 255, 255); 
     [self addChild:StrategyBulletLabel z:1]; 



    } 

    return self; 
} 
+0

Ваш класс наследуется от чего? – Nico

+0

Что это за класс? Расширяет ли CCLayer? –

+0

И какая версия Cocos2D у вас есть –

ответ

0

сеттер вы ищете будет выглядеть this.-

[self setIsTouchEnabled:YES]; 

(обратите внимание на отсутствие «есть»). Или вы можете сразу написать

self.isTouchEnabled = YES; 

EDIT

Как сказал @Grzegorz Krukowski, setIsTouchEnabled в настоящее время устарела и setTouchEnabled фактически метод, используемый в cocos2d 2.x. Я предполагаю, что вы можете использовать версию до 2.x.

+0

setIsTouchEnabled устарела в новейшей версии Cocos2D, поэтому я не думаю, что это правильное решение. –

+0

Ups, вы правы. В любом случае, если 'setTouchEnabled' не найден, скорее всего, версия cocos2d, используемая здесь, не самая новая. – ssantos

+0

Насколько я знаю, я использую cocos2d 2.x, но я его переустановит позже, спасибо –

Смежные вопросы