かなり単純明快に思えます:
// use this to keep track of how many stones are destroyed,
// every time a stone is destroyed, increment it by 1
int count = 0;
「コンボ」を表示するには、グラフィックまたはラベルを使用する必要があります。これは cocos2d の例で説明されているため、ここでは表示方法について説明しません。
ここから、「tick」コールバックで「count」の値を確認し、「3」(「マジック」ナンバー) 以上である場合は、「コンボ」ノードで次のアクション シーケンスを実行します。
CCFadeIn *fadeIn = [CCFadeIn actionWithDuration: 0.25f];
CCFadeOut *fadeOut = [CCFadeOut actionWithDuration: 0.0125f];
CCDelayTime *delay = [CCDelayTime actionWithDuration: 0.5f];
[node runAction: [CCSequence actions: fadeIn, delay, fadeOut, nil];
この一連のアクションは、ノードを 4 分の 1 秒かけてフェード インし、0.5 秒待ってから 8 分の 1 秒かけてフェード アウトします。コードの必要に応じてタイミングを調整できます。カウンターが > 3 の場合にできるいくつかの追加のことは、「コンボ」テキストを最後に破壊されたアイテムの位置に再配置するか、その位置をランダム化して、常に同じ場所にあるとは限らないなどです...
コード例の「ノード」オブジェクトは、シーンに追加されたままの CCSprite または CCLabel ですが、単に可視性が切り替えられているだけです (このアイテムは「頻繁に」シーンに表示される可能性が高いため、シーンに残した方がよいでしょう)。新しいアイテムを作成して毎回破棄するのではなく、可視性を変更します-まれなアイテムの場合は、新しいアイテムを作成して破棄します...