cocos2d- x3从舞台移除的花哨效果
cocos2d-x 3 fancy effect of removing from stage
我有子类Layer
和覆盖onEnter
函数如下:
void MyLayer::onEnter()
{
Layer::onEnter();
Size visibleSize = Director::getInstance()->getVisibleSize();
Point visibleOrigin = Director::getInstance()->getVisibleOrigin();
setPosition(visibleOrigin.x, visibleOrigin.y + visibleSize.height);
runAction(EaseOut::create(MoveTo::create(1, Vec2(visibleOrigin)), 10));
}
这将使我的图层从顶部进入屏幕,并具有轻松效果。现在我想用同样的效果把这层香去掉。我已经尝试使用onExitTransitionDidStart
,但它没有帮助:
void MyLayer::onExitTransitionDidStart()
{
Size visibleSize = Director::getInstance()->getVisibleSize();
Point visibleOrigin = Director::getInstance()->getVisibleOrigin();
runAction(EaseIn::create(MoveTo::create(1, Vec2(visibleOrigin.x, visibleOrigin.y + visibleSize.height)), 10));
}
如何控制图层从舞台上移除的方式?
您覆盖了错误的方法-您应该覆盖onExit()
。当层的父场景过渡到另一个场景时,onExitTransitionDidStart()
被调用。另一方面,onExit()
将永远被调用,当一个层离开一个场景。
再考虑一下,最简单的方法可能是编写自己的'remove()'方法,它会做这样的事情:
void MyLayer::remove() {
this->runAction(Sequence::create(/*your actions here*/, CallFunc::create(CC_CALLBACK_0(Layer::removeFromParent, this)), NULL);
}
这将运行一个动作,在其末尾删除节点。
相关文章:
- 提升精神 x3 - 懒惰解析器
- boost::spirit::x3 中的通用解析器生成器
- 增强精神 X3:错误:在"..."中没有名为"大小"的类型
- 提升精神 x3 解析为结构,如果它为空,则跳过成员
- 如何处理Boost Spirit X3导致Visual Studio 2019 "static initialization order fiasco"?
- Boost Spirit X3:将(一些)空格解析为枚举
- Boost Spirit x3 条件(三元)运算符解析器
- 你如何从 Boost Spirit X3 词法解析器中获取字符串?
- 将 Boost.Spirit.X3 解析器拆分为多个 TU
- boost::spirit::x3 中的简单字符串解析器不起作用
- 解析为 x3::variant 时出现编译器错误
- 自定义预期失败的完整错误消息(boost::spirit::x3)
- 提升精神 x3 错误处理程序与期望
- X3:如何创建解析器以进行集中读取
- 提升精神 X3 eol 意外行为
- (如何)我可以在不安装完整的提升库的情况下使用 boost::spirit X3 吗?
- 精神X3:具有内部状态的解析器
- 如何在 Spirit X3 中正确指定锚定条件?
- 精神V2和X3的状态性
- cocos2d- x3从舞台移除的花哨效果