图片移动闪烁

  • Creator 版本: 2.4.7

  • 目标平台: 浏览器

  • 重现方式:就很简单一张图片在update里面实现上下移动,图片边缘很明显感觉到闪烁!

1赞

我也有过这种经历,老难受了

有能解决嘛 听闻是渲染的问题

我目前没有解决,等官方修复这个问题吧

你再up里面直接设置 pos?为什么不用向量增加单位方向向量?

用向量计算不也是根据速度和方向算位子 setpos吗

代码看看 有没有dt

// called every frame
update: function (dt) {
    this.cocos.y += 1;
},

cocos随便弄张图

// called every frame
update: function (dt) {
this.cocos.y += 10*dt;
},
试试这样呢?

NewProject.zip (894.9 KB) 肉眼可见

3个方向
1.图片别缩放
2.坐标,尺寸,边缘像素用偶数,最好是4的倍数
3.预乘

尝试了下 好像没效果

NewProject.zip (982.1 KB) 对比这两个缓动,你会发现明显的变化。 其实是像素绘制的问题,1个像素,坐标还有小数点的时候就会出现抖动,想完全没有,最好的办法是,坐标不要有小数点,包括位移时间,也最好是偶数, 然后就是你图片的绘制,里面的像素要是偶数,包括里面的线条的宽度和坐标也要是偶数,别问,问就是我当年被大佬这么折磨过,一个手机外壳,我硬是画了足足一周

感觉下面的更明显 2个其实还是在抖,要想完全不抖好难啊 我记得2dx好像没这样呀

是更明显,我就是做个对比,
上面和下面的区别只在于 上面的起始点和结束点都是偶数,所以抖动就看起来没那么明显。
但其实,这个还是有点过分了,正常来说,即使有小数点,抖动也不应该如此强烈才对。

应该是底层渲染得问题,最好是2得次方倍。然后精度问题,最好整数。带小数移动时会有边缘问题。

好,策划有问题就推给引擎的锅

实测同样的纹理和结构,使用 3.5.2 实现,十分丝滑。NewProjectV3.zip (2.1 MB)

可能跟 同一台电脑新建2.x和3.x的空项目空场景,为什么GameLogic(ms)差这么多? 我发的这个异曲同工,v2 可能是有什么性能问题,在v3上修了。

V2 结构 NewProjectV2.zip (1.1 MB)

学习了,新版本确实丝滑

update就是我们想要的效果 action还是能看出抖动