[]纹理集包含多个动作的时候按照技术文档写出来的不能正常播放呢?

遇到一个以前有人遇到过的问题:
https://ask.layabox.com/question/1066
我现在用的引擎版本是:LayaAir IDE 1.7.8 beta
例子上传了:这里再贴一段我写的例子里面的代码,直观一点:

private const stand:String = "STAND";

private function loadActionsComplete():void
{
    //创建动画模板dizziness
     //Animation.createFrames(aniUrls("zy/" + stand + "000", 5), stand + "000");//这么写也不对
     Animation.createFrames(aniUrls(stand + "000", 5), stand + "000");
    Laya.stage.addChild(roleAni);
    roleAni.interval = 120;
    //播放指定的某一个动作,如果用这行代码就不对了,播放不出来任何东西
    roleAni.play(0, true, stand + "000");
    //播放所有动作,如果用这一行代码就没问题,但是是所有动作轮流播放,
    // roleAni.play(0, true);
    roleAni.x = 100;
    roleAni.y = 0;
}
private function aniUrls(aniName:String, len:int):Array
{
    var urls:Array = [];
    for (var i:int = 1; i <= len; i++)
    {
        //动画资源路径要和动画图集打包前的资源命名对应起来
        urls.push(aniName + i + ".png");
    }
    return urls;
}
 
已邀请:

cuixueying

赞同来自:

请下载最新版本1.7.9引擎重新测试下,如果依然存在问题我们再联系!

cuixueying

赞同来自:

1、你的动画资源没有预加载
public function Action()
{
init();
}

private function init():void
{
Laya.loader.load("../res/zy/zy.json",Handler.create(this,onLoadedSource),null,Loader.ATLAS);
}

private function onLoadedSource():void
{
roleAni = new Animation();
playActions();
}
 
2、你打包图集的时候,.json文件的prefix键是没有值的,这个是因为你直接针对散图所在文件夹进行打包了,你需要在资源文件夹的外层再套一层文件夹,可以参考:https://ask.layabox.com/question/6691,也可以手动修改,如下:
先修改.json文件,为prefix套一层文件夹路径
222.png

再修改散图加载路径
444.png

正常运行如下:

555.gif

 
 

要回复问题请先

商务合作
商务合作