在creator 3d v1.1.1中使用
-
cc.director.getScheduler().setTimeScale(0.1);
无效,动画、粒子还是按原来的速度播放,请问大家这个是不是bug,有解决的办法吗?
在creator 3d v1.1.1中使用
cc.director.getScheduler().setTimeScale(0.1);
无效,动画、粒子还是按原来的速度播放,请问大家这个是不是bug,有解决的办法吗?
_compScheduler 这个才是控制组件update的,你得改源码,改director的mainloop部分,或者修改componentscheduler这个类的update部分
改director的mainloop部分 我目前是这样的
非常感谢!我找到了源码的director.ts,增加了个public变量_timeScale,再在update里把dt乘以_timeScale。然后在编辑器->开发者->编译引擎,就可以用代码控制cc.director._timeScale = 0.1;来控制慢动作了~
非常感谢:)
请问在web是正常的 为什么真机上是没有慢放的
能是否出一个教程,修改源码的director.ts 。 有好多想改想试试
一种无须修改引擎的写法供参考
cc.director.kSpeed = 1
var old = cc.Director.prototype.calculateDeltaTime
cc.Director.prototype.calculateDeltaTime = function(now) {
old.call(this, now)
this._deltaTime *= this.kSpeed
}
// dt 变为原来 1/10
cc.director.kSpeed = 0.1
这种操作比较好
这个方法可以