[]纹理集包含多个动作的时候按照技术文档写出来的不能正常播放呢?
遇到一个以前有人遇到过的问题:
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;
}
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;
}
要回复问题请先登录
2 个回复
cuixueying
赞同来自:
cuixueying
赞同来自:
2、你打包图集的时候,.json文件的prefix键是没有值的,这个是因为你直接针对散图所在文件夹进行打包了,你需要在资源文件夹的外层再套一层文件夹,可以参考:https://ask.layabox.com/question/6691,也可以手动修改,如下:
先修改.json文件,为prefix套一层文件夹路径
再修改散图加载路径
正常运行如下: