特定の時刻にInFinite CCActionを開始したいと考えています。私はCCSequenceを使ってみましたが、有限時間アニメーションしかサポートしていません。特定の時刻にCCActionを開始する
よろしく、 パラス
特定の時刻にInFinite CCActionを開始したいと考えています。私はCCSequenceを使ってみましたが、有限時間アニメーションしかサポートしていません。特定の時刻にCCActionを開始する
よろしく、 パラス
最後の2行には何が必要です。
CCMoveBy* move = [CCMoveBy actionWithDuration:3 position:ccp(75,0)];
CCCallFuncO* shot = [CCCallFuncO actionWithTarget:self selector:@selector(shoot:) object:enemy];
CCSequence* sequ = [CCSequence actions:move,shot,nil];
CCRepeatForever* repeat = [CCRepeatForever actionWithAction:sequ];
[sprite runAction:repeat]; //sprite here
メソッド内で繰り返すアクションを挿入します。次に、あなたのinitメソッド
[[CCScheduler sharedScheduler] scheduleSelector:@selector(myMethod) forTarget:self interval:10 paused:NO];
でこれを置くしかし、これは一度MyMethodは内部のあなたがそれのスケジュールを解除したいと思う、10秒後にmymethodを呼び出します。だから私の方法は、このようなものに見えるはずです。
- (void) myMethod
{
[[CCScheduler sharedScheduler] unscheduleSelector:@selector(myMethod) forTarget:self];
CCMoveBy *move = [CCMoveBy actionWithDuration:3 position:ccp(75,0)];
CCRepeatForever *repeat = [CCRepeatForever actionWithAction:move];
[mySprite runAction:repeat];
}
これはうまくいきません。例を挙げてみましょう。アクションが2つしかないとします。 1.ディレイ・アクション(私が欲しいシーンのディレイを開始するため)2.ジャンプ・アクション(ディレイ・タイムが終わったら繰り返したい)。私があなたのアプローチで行くなら、遅れも繰り返されます。 :)私たちは別の解決策を考える必要があります。 –
@Gabe無限ループでゲームがフリーズする – Lukman
@paras mendiratta私のアドバイスは、アクションを使用しないで、ccTime関数内のx座標とy座標を更新するだけです。 – Gabe