2009-08-17 4 views
1

Cocos2dのエフェクトを試してみると、Liquidのアクションを表示して停止するメソッドが作成されました。ただし、エフェクトが適用されたときに私のアプリケーションは60fpsから30fpsに低下しますが、スケジュールされた停止アクションが呼び出されたときにfpsは再び増加しません。Cocos2D iPhoneの効果

私はもともと、アクションは完了していますが、エフェクトはレンダリングされていますが、Cocos2D 0.8ジップのEffectsTest.h/.mを読んだ後は、これがどのように達成されたかについてはわかりません。誰もがこの問題についていくつかの光を当てることができますか?

// effects 
-(void)enableLiquidEffect 
{ 
    id liquid = [Liquid actionWithWaves:6 amplitude:20 grid:ccg(15, 10) duration:3]; 

    [self schedule:@selector(disableLiquidEffect) interval:(3.0)]; 

    [self runAction:liquid]; 
} 
-(void)disableLiquidEffect 
{ 
    [self unschedule:@selector(disableLiquidEffect)]; 
    [self stopAllActions]; 
} 


乾杯、
AntonMills

答えて

0

ほんの少し先端ここで私は、これは年前に頼まれたけど、誰かがまだここ を来るかもしれないコードは少しやり過ぎである、ここでそれを行う方法は次のとおりです。

// effects 
-(void)enableLiquidEffect 
{ 
    id liquid = [Liquid actionWithWaves:6 amplitude:20 grid:ccg(15, 10) duration:3]; 
    //No need to unschedule after 3 seconds since you already set duration-^ to 3 seconds. 
    [self runAction:liquid]; 
} 
-(void)disableLiquidEffect 
{ 
    [self stopAllActions]; 
} 

コードがあることのほかに完璧

0

だけの推測が、項目はまだまだが終わった後、その後必要に応じて変換をより複雑に適用しようとしていることを液体に変換を設定しているからです。開始する前に変換をオフにしてから停止すると、それを元に戻します。あなたはそれを無に設定しようとすることができます。

関連する問題