0

アプリに可動スプライトを含むCCScrollLayerがあります(ドラッグアンドドロップできます)。問題は、スプライトをドラッグしすぎると、CCScrollLayerがスクロールを開始することです。これらのスプライトをドラッグしている限り、CCScrollLayerのスクロールを無効にしようとしています。無効化は、

[[CCTouchDispatcher sharedDispatcher] removeDelegate:sender];

メソッドから送信者を取得します

- (void)scrollLayerScrollingStarted:(CCScrollLayer *)sender {
    //...
}

CSScrollLayerを再度有効にすることはできません。これを試してみましたが、結果がありません。

[[CCTouchDispatcher sharedDispatcher] addTargetedDelegate:scrollLayer priority:0 swallowsTouches:NO];

v1.0.1(安定版)を使用しています

4

1 に答える 1

1

CCScrollLayer をサブクラス化し、有効なプロパティのブール値を追加できます。CCScrollLayer がスライドを開始するために使用するタッチ メソッドをオーバーライドするだけです。例えば

-(BOOL)ccTouchBegan:(UITouch *)touch withEvent:(UIEvent *)event
{
     if(self.enabled)
           return [super ccTouchBegan:touch withEvent:event];
     else
           return NO;
}
于 2012-06-25T22:02:03.690 に答える