-
Creator 版本:3.8.5
-
目标平台:Windows
-
重现方式:看具体代码
-
首个报错:无
-
之前哪个版本是正常的:
-
手机型号:
-
手机浏览器:
-
编辑器操作系统:Windows10
-
重现概率:100%
LoadSpriteAnim(){
console.log("LoadSpriteAnim");
let sf1_1:SpriteFrame=null;
let sf1_2:SpriteFrame=null;
resources.load("Animations/SpriteAnimation/demoAnim/base1/base1-1/spriteFrame",SpriteFrame,(err,sf)=>{
if(!err&&sf){
console.log("base1-1 succeed");
sf1_1=sf;
}else{
console.log("base1-1 failed");
}
});
resources.load("Animations/SpriteAnimation/demoAnim/base1/base1-2/spriteFrame",SpriteFrame,(err,sf)=>{
if(!err&&sf){
console.log("base1-2 succeed");
sf1_2=sf;
}else{
console.log("base1-2 failed");
}
});
this.scheduleOnce(()=>{
console.log("AnimationClip");
// 添加Sprite组件
const nodeSprite=this.spriteAnimNode.addComponent(Sprite);
// 新建AnimationClip动画剪辑
const animationClip = new AnimationClip("base1");
animationClip.duration = 0.4;
// 新建动画剪辑轨道
const track = new animation.ObjectTrack<SpriteFrame>();
track.path=new animation.TrackPath().toComponent(Sprite).toProperty('spriteFrame');
const [sfPath]=track.channels();
// 为 x 通道的曲线添加关键帧
sfPath.curve.assignSorted([
[0.0,sf1_2],
[0.2,sf1_1],
[0.4,sf1_1]
]);
// 最后将轨道添加到动画剪辑以应用
animationClip.addTrack(track);
// 设置动画剪辑循环模式
animationClip.wrapMode=AnimationClip.WrapMode.Loop;
// 添加及设置动画组件
const anim=this.spriteAnimNode.addComponent(AnimationComponent);
anim.addClip(animationClip,"base1");
anim.defaultClip=animationClip;
//anim.playOnLoad=true;
// web平台可正常播放,windows平台不能正常播放
anim.play();
// web和windows平台都可正常播放
//anim.play("base1");
},3);
}

