-
Creator 版本:
-
目标平台:
-
详细报错信息,包含调用堆栈:
-
重现方式:
-
之前哪个版本是正常的 :
-
手机型号 :
-
手机浏览器 :
-
编辑器操作系统 :
-
编辑器之前是否有其它报错 :
-
出现概率:
-
额外线索:
Creator 版本:
目标平台:
详细报错信息,包含调用堆栈:
重现方式:
之前哪个版本是正常的 :
手机型号 :
手机浏览器 :
编辑器操作系统 :
编辑器之前是否有其它报错 :
出现概率:
额外线索:
报错提示JS: [ERROR]: Can not render dynamic created SkeletonData
之前也出现过,是导出的spine的版本太低了,要升级下
模拟器原生load加载远程json失败,加载本地spine以前的方法报错
var image = “D:/2d/skeleton.png”;
var ske = “D:/2d/skeleton.json”;
var atlas = “D:/2d/skeleton.atlas.txt”;
cc.loader.load(image, (error, texture) => {
cc.log(error);
cc.loader.load({ url: atlas, type: 'txt' }, (error, atlasJson) => {
cc.log(error);
cc.loader.load({ url: ske, type: 'txt' }, (error, spineJson) => {
cc.log(error);
cc.log("11111111111111")
cc.log(atlasJson);
cc.log(spineJson);
cc.log("22222222222222")
var asset = new sp.SkeletonData();
asset.skeletonJson = spineJson;
asset.atlasText = atlasJson;
asset.name = "skeleton";
asset["_uuid"]=" ";
asset.textures = [texture];
asset["textureNames"] = ['skeleton.png'];
cc.log(asset);
cc.log("333333333333")
skeleton.skeletonData=asset;
});
});
});
也是 没办法 回到2.0.8了
你2.0.8用的什么方法加载的?
export const createDragonBoneFromCDN = (
dragonDisplay: dragonBones.ArmatureDisplay,
dragonBonesAtlasAssetPath: string,
dragonBonesAssetPath: string,
playTime: number,
randomPlay: boolean = false
) => {
return new Promise((resolve, reject) => {
const fishImageUrl: string = `${dragonBonesAtlasAssetPath}.png`
const fishSkeUrl: string = `${dragonBonesAssetPath}.json`
const fishAtlasUrl: string = `${dragonBonesAtlasAssetPath}.json`
downloader.load({ url: fishImageUrl, type: 'png' }, (error, image) => {
if (error) { reject(error) }
downloader.load({ url: fishAtlasUrl, type: 'txt' }, (error, atlasJson) => {
if (error) { reject(error) }
downloader.load({ url: fishSkeUrl, type: 'txt' }, (error, dragonBonesJson) => {
if (error) { reject(error) }
const atlas = new dragonBones.DragonBonesAtlasAsset()
atlas.atlasJson = atlasJson
atlas.texture = image
const asset = new dragonBones.DragonBonesAsset()
asset.dragonBonesJson = dragonBonesJson
dragonDisplay.dragonAtlasAsset = atlas
dragonDisplay.dragonAsset = asset
dragonDisplay.armatureName = 'armatureName'
dragonDisplay.playAnimation('newAnimation', playTime)
resolve('dragon load success')
});
});
});
})
}
dragonbones:
var atlas = new dragonBones.DragonBonesAtlasAsset();
atlas._uuid = atlasUrl; // 这个url是这个atlas的url
var asset = new dragonBones.DragonBonesAsset();
asset._uuid = asseturl; // 这个url是这个db json的url
本质上是因为手动new 的asset没有uuid造成的,因为新版本,用uuid作为key了,之前用动画的name作为key容易产生重名的问题,下个版本会兼容处理这种手动创建Asset的问题了。
目前 使用了动态加载spine 并且赋值了_uuid 但是 setAnimationCacheMode(sp.Skeleton.AnimationCacheMode.SHARED_CACHE);
还是有问题。显示不正确。
27分钟前
目前 使用了动态加载spine 并且赋值了_uuid 但是 setAnimationCacheMode(sp.Skeleton.AnimationCacheMode.SHARED_CACHE);
还是有问题。显示不正确。
麻烦贴下你创建spine的代码片段
var image = “D:/2d/skeleton.png”;
var ske = “D:/2d/skeleton.json”;
var atlas = “D:/2d/skeleton.atlas.txt”;
cc.loader.load(image, (error, texture) => {
cc.log(error);
cc.loader.load({ url: atlas, type: 'txt' }, (error, atlasJson) => {
cc.log(error);
cc.loader.load({ url: ske, type: 'txt' }, (error, spineJson) => {
cc.log(error);
cc.log("11111111111111")
cc.log(atlasJson);
cc.log(spineJson);
cc.log("22222222222222")
var asset = new sp.SkeletonData();
asset.skeletonJson = spineJson;
asset.atlasText = atlasJson;
asset.name = "skeleton";
asset["_uuid"]=ske;
asset.textures = [texture];
asset["textureNames"] = ['skeleton.png'];
cc.log(asset);
cc.log("333333333333")
skeleton.skeletonData=asset;
});
});
});
if (this.loadobj.root_node)
{
let spine = this.loadobj.root_node.getComponent(sp.Skeleton) as sp.Skeleton;
let spine_data = new sp.SkeletonData();
spine_data._uuid = json_url;
spine_data.skeletonJson = spine_json;
spine_data.atlasText = atlasJson;
spine_data.name = texture_name;
spine_data.textures = [texture];
spine_data.textureNames = [texture_name];
spine.setAnimationCacheMode(sp.Skeleton.AnimationCacheMode.SHARED_CACHE);
spine.skeletonData = spine_data;
// spine.animation = "m1_idle_1";
//spine.premultipliedAlpha = false;
//spine.setAnimationCacheMode(sp.Skeleton.AnimationCacheMode.SHARED_CACHE);
// cc.log(spine.isAnimationCached());
}
不要沉, 我也这个问题报错. 给了uuid.
spine.skeletonData = spine_data;这里报错
spine动态加载的问题, 什么时候能解决呢? 好着急
报的什么错呢
有没有报错呢?