2013-05-07 104 views
0

我在helloworld图层中有按钮。当我点击按钮时,我需要更换gmaelayer场景。但是当我点击按钮时,我得到了错误。'NSInvalidArgumentException',原因:' - [HelloWorldLayer starGame:]:无法识别的选择器发送到实例0x96764d0'

代码:

- (id) init 
    { 
     if ((self = [super initWithColor:ccc4(255,255,255,255)])) { 

      CGSize winSize0 = [[CCDirector sharedDirector] winSize]; 


      CCMenuItem *starMenuItem = [CCMenuItemImage 
             itemFromNormalImage:@"player.png" selectedImage:@"player.png" 
             target:self selector:@selector(starGame:)]; 

      CCMenu *starMenu = [CCMenu menuWithItems:starMenuItem,nil]; 

      starMenu.position = ccp(winSize0.width/2 , 25); 
      [starMenu alignItemsHorizontally]; 
      [self addChild:starMenu]; 
} 
    return self; 
    } 


    -(void)startGame:(id)sender{ 

     [[CCDirector sharedDirector] replaceScene:[GameLayer scene]]; 


    } 

回答

1

您选择的方法是错误的。

CCMenuItem *starMenuItem = [CCMenuItemImage 
             itemFromNormalImage:@"player.png" selectedImage:@"player.png" 
             target:self selector:@selector(starGame:)]; 

代替

CCMenuItem *starMenuItem = [CCMenuItemImage 
             itemFromNormalImage:@"player.png" selectedImage:@"player.png" 
             target:self selector:@selector(startGame:)]; 
+1

,并使其更明显:你不小心写了'starGame:',而不是'startGame:'。你只是错过了一封信。 – 2013-05-07 05:57:50

相关问题