Cocos Creator v2.3.2 测试帖(正式版已发)

不是打不开,是一直打开着,哈哈。在你的电脑右上角菜单栏里,点一下show

对于Creator还不是很习惯点右上角

我去 真的隐藏在右上角图标栏:joy:

不应该用this.playMusic吧!

电脑上设置了快捷键打开软件的,现在就Creator不顶用了,有点难受:joy:

从这里继续讨论 tween,我是实践派:joy:

如果使用 tween 触发旋转具体为上面代码,控制节点的欧拉角属性,那么实际是不会广播节点的旋转事件,而如果用 rotate3DBy 之类的旋转属性则会

通过查阅代码发现,setRotation 的时候会触发旋转事件广播

但是仅仅是修改欧拉角属性,并不会广播旋转事件

但是 angle,rotationX,rotationY属性的修改则会广播旋转事件

所以这里我就很疑惑,eulerAngle属性的修改不广播旋转事件是设计如是,还是遗忘了呢?

目前会造成的影响就是

如果使用 tween 去控制欧拉角旋转,是不会广播节点旋转事件,我只能大概这样子去补回来。。。

cc.tween(this.targetNode)
    .to(
        1,
        {
            eulerAngles: targetEulerAngles
        },
        {
            progress: (start: cc.Vec3, end: cc.Vec3, current: cc.Vec3, ratio: number) => {
                // 使用Tween控制 eulerAngle 属性时,不会广播旋转事件,只能手动触发
                this.targetNode.emit(cc.Node.EventType.ROTATION_CHANGED);
                return start.lerp(end, ratio, current);
            }
        }
    )
    .call(() => {
        this.targetNode.emit(cc.Node.EventType.ROTATION_CHANGED);
    })
    .start();

@EndEvil

发现一个2.3.1的报错bug:


原生平台的报错

抱歉,我们之后版本会优化

抱歉,我们之后会优化下

抱歉,我们确认一下

为什么?this指针有问题吗?我用的箭头函数

抱歉,请问这是部分机型出现的么?

因为第一次返回调后 this就不是你想要的那个了,而是变成了Audio。

你改成console.log(this, err);输出下就知道了。

这个样才是你想要的
cc.loader.loadRes(file, cc.AudioClip, (err, r) => {
console.log(this, err);
let id = cc.audioEngine.playMusic(r, false);
cc.audioEngine.setFinishCallback(id, ()=>{
this.playMusic();
});
});

抱歉,确认了下是漏了,下个版本会补上:disappointed_relieved:

Thanks :grin:

我都放弃治疗了。。。

是的,建议加一下安全判断,不然报错老是上报到bugly后台

那你有没有试过音乐可不可以一直循环播放?

我项目里面的代码没用this,也不行,你帮我看下
randomMusic: [
‘hall/music/hallMusic/2.mp3’,
‘hall/music/hallMusic/2.mp3’,
‘hall/music/hallMusic/2.mp3’,
‘hall/music/hallMusic/2.mp3’,
‘hall/music/hallMusic/2.mp3’,
‘hall/music/hallMusic/2.mp3’,
],
// 大厅随机播放音乐 结束回调
playRandomMusicCallback() {
let index = utils.randomFrom(0, AudioManager.randomMusic.length - 1);
AudioManager.playRandomMusic(AudioManager.randomMusic[index], AudioManager.playRandomMusicCallback);
},
playRandomMusic(filePath, callback) {
let clip = utils.checkRes(filePath);
var audioID = cc.audioEngine.playMusic(clip, false);
console.warn(“播放随机音乐”, audioID, clip, filePath);
if (callback) {
cc.audioEngine.setFinishCallback(audioID, callback)
}
return audioID
}

Cocos Father:grin: