关于 Cocos2d-JS 3.0Final 导入 Cocos Studio 1.5 动画的问题,有哪位能帮忙解答下,谢谢

请问下,我把Cocos Studio 1.5 导出的动画放到 js 新建项目的rec 文件夹下,
然后在resource.js 里

var res = {
HelloWorld_png : “res/HelloWorld.png”,
CloseNormal_png : “res/CloseNormal.png”,
CloseSelected_png : “res/CloseSelected.png”,

herojson:"res/Hero/Hero.ExportJson",
c2:"res/Hero/blood.plist",
c4:"res/Hero/Hero0.plist",
c5:"res/Hero/Hero0.png"

};

var g_resources = ];
for (var i in res) {
g_resources.push(res*);
}

再 app.js 里面 加上

ccs.armatureDataManager.addArmatureFileInfo(res.herojson);
var armature = new ccs.Armature(“Hero”);
armature.getAnimation().play(“run”);
armature.setScale(0.5);
this.addChild(armature, 0, 0);

为什么调试却报错 JS: F:/android/ccwork/newgame3/runtime/win32/…/…/src/app.js:50:TypeError: armature.getAnimation(…) is null

哪位大神能帮忙解答下,谢谢*

Armature的创建,试试使用 ccs.Armature.create

加了create也还是不行。

JS: F:/android/ccwork/newgame3/runtime/win32/…/…/src/app.js:49:TypeError: ccs.Armature.create is not a constructor

是不是你在模块里面没有导入, 看看project.json 这个key值 “modules” : “cocos2d”, “extensions”, “external”],

这个已经导入过了 “modules” : “cocos2d”,“extensions”, “external”], 还是不行的

附上程序截图,请各位看看是什么原因呢

图裂啦。看不到。

看不到吗,再传一遍

看你资源是放在Hero目录里面的,你在制作的时候也有这么放么?如果制作的时候是放在根目录的,那就只能放在根目录下,你可以看看Hero.exportjson里面资源的路径

我打开 Hero.ExportJson 文件,发现最后几行是

“config_file_path”:
“blood.plist”,
“Hero0.plist”
],
“config_png_path”:
“blood.png”,
“Hero0.png”
]

但是导出文件夹里面并没有 blood.png,调试就一直报错找不到 blood.png
cocos2d: fullPathForFilename: No file found at res/blood.png. Possible missing file.
cocos2d: fullPathForFilename: No file found at res/blood.png. Possible missing file.
Get data from file(res/blood.png) failed, error code is 3
cocos2d: SpriteFrameCache: couldn’t load texture file. File not found res/blood.png
JS: H:/android/ccwork/newgame3/runtime/win32/…/…/src/app.js:36:TypeError: armature.getAnimation(…) is null

我试着删除了 “blood.plist”, 和 “blood.png”, 也还是不行

还是变成原来 的 JS: H:/android/ccwork/newgame3/runtime/win32/…/…/src/app.js:36:TypeError: armature.getAnimation(…) is null

我也试过把导出的4个文件直接放在res根目录下 ,resoures.js也更新了路径,也还是不行!实在不明白哪里出错,难道是Cocos Studio 1.5导出的问题吗

额,你说导出的文件里面没有blood么?那最好检查下studio那边的配置,相关图片和配置文件都应该齐全的。然后拷贝到res根目录下。

谢谢版主这么耐心的解答我的问题,这次我在 Cocos Studio 里面自己新建了一个非常简单的动画,只有一张图,导出以后有3个文件,导出的json文件如下

{
“content_scale”: 1.0,
“armature_data”:
{
“strVersion”: “1.5.0.1”,
“version”: 1.501,
“name”: “xlmovie”,
“bone_data”:
{
“name”: “Layer1”,
“parent”: “”,
“dI”: 0,
“x”: -0.5,
“y”: 1.420013427734375,
“z”: 1,
“cX”: 1.0,
“cY”: 1.0,
“kX”: 0.0,
“kY”: 0.0,
“arrow_x”: 0.0,
“arrow_y”: 0.0,
“effectbyskeleton”: false,
“display_data”:
{
“name”: “Image 601.png”,
“displayType”: 0,
“skin_data”:
{
“x”: 0.0,
“y”: 0.0,
“cX”: 1.0,
“cY”: 1.0,
“kX”: 0.0,
“kY”: 0.0
}
]
}
]
}
]
}
],
“animation_data”:
{
“name”: “xlmovie”,
“mov_data”:
{
“name”: “walk”,
“dr”: 61,
“lp”: true,
“to”: 0,
“drTW”: 0,
“twE”: 0,
“sc”: 1.0,
“mov_bone_data”:
{
“name”: “Layer1”,
“dl”: 0.0,
“frame_data”:
{
“dI”: 0,
“x”: 0.0,
“y”: 0.0,
“z”: 0,
“cX”: 1.0,
“cY”: 1.0,
“kX”: 0.0,
“kY”: 0.0,
“fi”: 0,
“twE”: 0,
“tweenFrame”: true,
“bd_src”: 770,
“bd_dst”: 771
},
{
“dI”: 0,
“x”: 186.0,
“y”: 10.0,
“z”: 0,
“cX”: 1.0,
“cY”: 1.0,
“kX”: 0.0,
“kY”: 0.0,
“fi”: 60,
“twE”: 0,
“tweenFrame”: true,
“bd_src”: 770,
“bd_dst”: 771
}
]
}
]
}
]
}
],
“texture_data”:
{
“name”: “Image 601”,
“width”: 84.0,
“height”: 98.0,
“pX”: 0.5,
“pY”: 0.5,
“plistFile”: “”
}
],
“config_file_path”:
“xlmovie0.plist”
],
“config_png_path”:
“xlmovie0.png”
]
}

我把导出的3个文件放到res根目录下了,配置好resoures,结果发现悲剧的事还是老问题。。。

发现问题原来出在cocos ide 的win32调试那里,我用web方式来调试后就能看到动画了

最后我又调试和发布win32和android版本,也无法显示动画,目前只能在web模式下调试和发布成功,不知道是不是Cocos Studio问题还是js3的问题了

可以试试使用cocos 命令来发布看看。如果可以的话,可能是ide的一个bug,到时候我反馈给ide那边一下

ide 发布确实不行,但我用 cocos2d-console 的命令发布一样也是不行的,无论是win32和android,我都试过了,虽然能发布成功,android也能打包成功,但是都看不到动画,只有html5是能看到动画的

感谢反馈, 不知道是否能将代码和资源传上来呢。 我传给相关技术人员看一下,可能是动画方面的bug

好的,谢谢斑竹,我来打包一下,然后传上来

恩恩。好的。稍后我们测试完后马上会给你答复哈。 :7:

附上3个打包文件 ,第一程序是用Cocos Studio1.5 默认例子导出动画, 第二个包是我自己用Cocos Studio1.5 做的简单的动画导出, 第三个包是用cocos2d-console打包 发布第一个程序的web版本,可以正常看到动画效果。其他的win32和android的发布都看不到动画,请查看问题在哪里。