2.4.9 拖尾motionStreak bug 反馈

当前的拖尾效果永远从世界坐标(0,0)点开始


因为在MotionStreakAssembler插入了这个lastPos… 这个lastPos 会在拖尾组件MotionStreak中被重置为0

1赞

提供一个在不修改源码情况下的解决方案
//在拖尾节点激活时,在执行lastUpdate之前,修改lastWpos 为节点的世界坐标
let motion = Node_trail.getComponent(cc.MotionStreak);
if (motion) {

            //修复2.4.9版本拖尾效果从原点开始问题,后续关注引擎修复情况移除

            motion.scheduleOnce(() => {

                motion.reset();

                let mat4 = cc.mat4();

                let matrix = Node_trail.getWorldMatrix(mat4);

                let tx = matrix.m[12],

                    ty = matrix.m[13];

                //@ts-ignore

                motion._lastWPos.x = tx;

                //@ts-ignore

                motion._lastWPos.y = ty;

            });

        }
2赞

学废了 :smiley:

mark~

该主题在最后一个回复创建后14天后自动关闭。不再允许新的回复。