cocoscreator3.8.6无法在start生命周期之后,通过代码设置渲染材质的参数是怎么回事?

如下图,渲染材质有个透明度参数,transparencyFactor


打算在游戏运行中,动态修改这个材质的这个参数。
也就是用 Material实例的setProperty函数修改。

结果发现,在onLoad或start 函数执行是没问题的,玩家可以变半透明,如下图。

但是在start函数之后尝试设置材质参数,是无效的,角色不能变半透明,如下图在update里设置

CC会在 start 重建管线里的很多东西(例如摄像头),这是一个很容易被踩到的坑。

onLoad 里修改的话,系统才会“知道”你要修改这个东西,并取消原本要重建的行为。

如果一定要在 start 里修改,可以包一层 scheduleOnce 试试。