Egret社区

dragonbones cpp代码bug

2017-6-19 15:17
361
Animation.cpp: animationState = fadeIn(_lastAnimationState->getName(), 0.f, playTimes, 0, "", AnimationFadeOutMode::All);
调用上次播放动画使用参数_lastAnimationState->getName(),而fadeIn()函数第一个参数是std::string&引用类型,并且fadeIn()实现:

   _fadeOut(fadeInTime, layer, group, fadeOutMode, pauseFadeOut);  //这行有可能回收_lastAnimationState,导致传入的参数异常

    _lastAnimationState = BaseObject::borrowObject<AnimationState>();
    _lastAnimationState->_layer = layer;
    _lastAnimationState->_group = group;
    _lastAnimationState->additiveBlending = additiveBlending;
    _lastAnimationState->displayControl = displayControl;
    _lastAnimationState->_fadeIn(
        _armature, animationData->animation ? animationData->animation : animationData, animationName,
        playTimes, animationData->position, animationData->duration, _time, 1.f / animationData->scale, fadeInTime,
        pauseFadeIn
    );


由于引用参数被析构,导致我在使用vs编译运行dragonbones动画例子会运行崩溃






分享到 :
0 人收藏

1 个回复

倒序浏览
duanchunlei  官方团队 | 2017-6-19 15:24:19
cpp 的 5.0 版本还在开发中,这个问题已经修复了,非常感谢提供的调试信息
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

逝去的风

初学乍练

积分: 2 帖子: 1 精华: 0

楼主热帖

小黑屋|京网文[2014]0791-191号|京ICP证150115号|Egret社区 ( 京ICP备14025619号

Powered by Discuz! X3.2 © 2001-2016 Comsenz Inc.

返回顶部