4

スプライトが触れたときにスプライトでアクションを実行したいのですが、これがアクション メソッドです。

-(void) spriteEffect
{
    CCSprite *actionEffect = avatar;
    id jump = [CCJumpBy actionWithDuration:1 position: ccp(0, 0) height:50 jumps:1];
    id sequence = [CCSequence actions: jump, nil];
    [actionEffect runAction:sequence];
}

さて、私の問題は、タッチアクションをスプライトに接続する方法がわからないことです。これを使うべきですか?

- (void)ccTouchesBegan:(NSSet*)touches withEvent:(UIEvent*)event

Msp は、.plist が割り当てられた .png イメージにあります。

4

3 に答える 3

2
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event 
{

    UITouch *touch = [touches anyObject];

    if ([touch tapCount] == 1) 
    {
        // Add Your Action
    }

}

また

UITapGestureRecognizer *gr = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(SpriteThouch)];
[[[CCDirector sharedDirector] openGLView] addGestureRecognizer:gr];

そしてメソッドを呼び出すSpriteThouch

-(void)SpriteThouch
{
  // code here 

}
于 2013-01-23T12:02:55.320 に答える
0

CCNode+SFGestureRecognizers.h (https://github.com/krzysztofzablocki/CCNode-SFGestureRecognizers) を使用して、スプライトにジェスチャを追加します。

したがって、必要なことは次のとおりです。

  • CCNode+SFGestureRecognizers.h をインポートします。

  • スプライトを追加: CCSprite *button = [CCSprite spriteWithCGImage:....

  • スプライトのコードを追加

    button.isTouchEnabled = YES;

    UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:target action:selector];

    [ボタン addGestureRecognizer:タップ];

于 2013-01-23T12:24:09.500 に答える
0

シンプルなスプライト タッチを処理する場合は、通常CCMenuItemImageを使用します。

メニュー項目を作成するには、次のメソッドを使用します。

itemFromNormalImage:selectedImage:target:selector:

ご覧のとおり、メニュー項目の画像 (つまりスプライト画像) を渡し、ターゲット (通常はアクションを実装する self) と、もちろんメニュー項目がタッチされたときに呼び出されるメソッド (セレクター) を渡すことができます。

さらにサポートが必要な場合はお知らせください...

于 2013-01-23T12:28:38.093 に答える