cocos2dx 3.6 Sequence cannot stopAction bug

今天碰到一个比较诡异的bug,在一些情况下,使用stopAction无法中途停止Sequence action。
下面这段代码中的DelayTime解开注释后,永远无法在test2中停止当前Sequence。
期望的输出为:
test1 done test2 done

实际输出为:
test1 done
test2 done
test3 done

m_testAction = this->runAction(Sequence::create(CallFunc::create(CC_CALLBACK_0(MainLayer::test1, this)),
// DelayTime::create(2),
CallFunc::create(CC_CALLBACK_0(MainLayer::test2, this)),
CallFunc::create(CC_CALLBACK_0(MainLayer::test3, this)),
NULL));

void MainLayer::test1()
{
cout << “test1 done” << endl;
}
void MainLayer::test2()
{
cout << “test2 done” << endl;
this->stopAction(m_testAction);
}
void MainLayer::test3()
{
cout << “test3 done” << endl;
}

有碰到类似问题的朋友么?

我也遇到这种问题了,sequence中使用callfunc和其他action组合队列的时候,经常出现,所以我这边使用其他方式变通的实现了一下,尽量避免这么使用。

您好,我今天也碰到类似的问题了,请问你是用的什么方法避免的呢???