0
私は移動しているアイテムを持っているcocos2d-x-3.15.1のゲームを持っています。私は、アクションが完了したときに呼ばれるコールバックを取得したい。 これに対して、私は以下のコード構造を使用しました。ココス対象のアクションのコールバックを取得する方法
TargetedAction* const targetedAction = TargetedAction::create(item, action);
CallFunc* const dispatchEvent = CallFunc::create([this]()
{
_eventDispatcher->dispatchCustomEvent(EVENT);
});
auto itemsMoveAction = Sequence::createWithTwoActions(targetedAction, dispatchEvent);
runAction(itemsMoveAction);
しかし、私のコードは、時々、正しい実行に失敗し、私はそれが完了するまでに失敗したこの https://github.com/cocos2d/cocos2d-x/issues/18046シーケンスのbecouseである疑いがあります。 #18046のバグ。 Sequence
を使用せずに同じ機能を実行するにはどうすればよいですか?
編集: 私はこの問題を回避する
ActionEase* const action = MoveTo::create(timeToStop, destinationPoint);
item->runAction(action);
CallFunc* const dispatchEvent = CallFunc::create([this]()
{
_eventDispatcher->dispatchCustomEvent(EVENT);
});
auto delayAction = Sequence::createWithTwoActions(DelayTime::create(timeToStop), dispatchEvent);
runAction(delayAction);
を適用している私は完全にシーケンスを使用しないようにしたかったが、方法がないようです。私は完全にシーケンスを使用して避けたかった
。 –