0
-(void)ccTouchEnded:(UITouch *)touch withEvent:(UIEvent *)event
{
    CGPoint location = [touch locationInView:[touch view]];
    CGPoint convertedlocation = [[CCDirector sharedDirector] convertToGL:location];  
    bb=[CCMenuItemImage itemFromNormalImage:@"Aqua-ball.png" selectedImage:@"Aqua-ball.png" target:self selector:@selector(move:)];
    menu1=[CCMenu menuWithItems:bb, nil];

    //ignore this.....

}

-(void) move:(CGPoint) touch{
    [character runAction:[CCMoveTo actionWithDuration:1 position:ccp(touch.x,touch.y)]];
}

@selector(move:converted location) という CCmenuitem セレクターを作成しようとしていますが、パラメーターを受け入れることができないようです。パラメーターをそのまま渡すことができるものはありますか?

4

1 に答える 1

0

そのようにパラメータを渡す方法はないと思います。あなたがやりたいことをする方法はたくさんあります。これは私がすることです:

最初に、などのインスタンス変数CGPoint lastTouchLocationを実装に追加します。次に、次のように使用します。

-(void)ccTouchEnded:(UITouch *)touch withEvent:(UIEvent *)event
{
    CGPoint location = [touch locationInView:[touch view]];
    CGPoint convertedlocation = [[CCDirector sharedDirector] convertToGL:location];

    lastTouchLocation = convertedLocation;
    bb=[CCMenuItemImage itemFromNormalImage:@"Aqua-ball.png" selectedImage:@"Aqua-ball.png" target:self selector:@selector(buttonTapped)];

    menu1=[CCMenu menuWithItems:bb, nil];    
}

-(void) buttonTapped {
    [character runAction:[CCMoveTo actionWithDuration:1 position:lastTouchLocation]];
}
于 2012-08-30T03:26:06.303 に答える