-
Creator 版本:
-
目标平台:
-
详细报错信息,包含调用堆栈:
-
重现方式:
-
之前哪个版本是正常的 :
-
手机型号 :
-
手机浏览器 :
-
编辑器操作系统 :
-
编辑器之前是否有其它报错 :
-
出现概率:
-
额外线索:
Creator 版本:
目标平台:
详细报错信息,包含调用堆栈:
重现方式:
之前哪个版本是正常的 :
手机型号 :
手机浏览器 :
编辑器操作系统 :
编辑器之前是否有其它报错 :
出现概率:
额外线索:
有大神能指导下吗,armature().getBone(),但怎么删除这个骨骼,或者怎么让骨骼上的图不显示。。。
这个没人知道吗,实现不了吗,比如有个角色身上有翅膀,有时要不显示,这要怎么做了
没看过api,不知道有啥接口。可以提供你一个思路,使用替换贴图,贴图为一张透明图
/**
* 设置插槽显隐
* @param boneName 插槽
* @param state 状态
*/
setBonesVisible(boneName:string, state:boolean) {
//@ts-ignore
let attachUtil = this.bones.attachUtil;
let armature: dragonBones.Armature = attachUtil._armature;
let bones = armature.getBones(), findBone:dragonBones.Bone;
for (let i = 0, l = bones.length; i < l; i++) {
let bone = bones[i];
if (boneName === bone.name) {
findBone = bone;
}
}
if(findBone){
findBone.visible = state;
}else{
cc.error(`${this.bones.armatureName}-${this.bones.animationName}没有这个插槽:${boneName}`)
}
}
this.bones为dragonBones.ArmatureDisplay
谢谢,能请教你一个问题吗,一个插槽里有三个图,我设置插槽的displayIndex,想达到动态换肤,可是好像不行,你有遇到吗
我们用的spine,你看一下引擎attachUtil它渲染drongbones的源码,来写吧,应该是替换某个对象而不是单单设置一下 displayindex
应该是可以的 我就这么用了。displayIndex = -1。是隐藏。0是显示。还有确认是否能获取那个插槽吧。
/**
* 设置对应名称骨骼节点是否显示
* @param show 是否显示
* @param name 节点名称
*/
private showBoneByName(show:boolean,name:string){
let bones=this.selfBones.armature().getBones()
for(let i=0;i<bones.length;i++){
let info=bones[i]
if(info.name==name){
info.visible=show
break
}
}
}