Cocos creator v3.0 的 Spine少了很多spine类的声明

  • Creator 版本: v3.0

  • 目标平台: Chrome/ iOS / Android

  • 重现方式:都可以

v2.4.x 还包含如下声明:
~
declare namespace sp.spine {
class SkinEntry {
slotIndex: number;
name: string;
attachment: Attachment;
constructor(slotIndex: number, name: string, attachment: Attachment);
}
class Skin {
name: string;
attachments: Map[];
bones: BoneData[];
constraints: ConstraintData[];
constructor(name: string);
setAttachment(slotIndex: number, name: string, attachment: Attachment): void;
addSkin(skin: Skin): void;
copySkin(skin: Skin): void;
getAttachment(slotIndex: number, name: string): Attachment;
removeAttachment(slotIndex: number, name: string): void;
getAttachments(): Array;
getAttachmentsForSlot(slotIndex: number, attachments: Array): void;
clear(): void;
attachAll(skeleton: Skeleton, oldSkin: Skin): void;
}
}
~
但 v3.0的cc.d.ts就没有这些类的声明了。 请问是需要另外引入spine-core吗? 怎么使用的? 在test-case中没找到

还有一个问题, v2.4.x中,
Skeleton还有如下声明:
setSkinByName(skinName: string): void;
setSkin(newSkin: Skin): void;

而v3.0之后,就只有 setSkin(skinName: string): void;

因为想动态组装Skin, 保留 setSkin(newSkin: Skin): void; 还是有必要的。

查了原因, 是声明文件没写对, sp.spine在运行时是可以用的。

请问具体是哪里有问题? 我这边查了下spine-core.d.ts是有上述声明的

但是,你们生成的cc.d.ts里面没有sp.spine的声明。 编辑器写的时候,会没有提示,还会标红。
实际是可以在运行时使用的。应该不算是bug.

我也遇到了,这些声明还是很有必要的

可能是导出有点问题 后续会改进 感谢反馈

貌似,还没有解决3.4依然存在这个问题

3.5还会标红呢

1赞

3.6继续飘红

你好,我问下这个setSkin(newSkin),通过实例化Skin的调用,我这边报错了,请教下这个怎么调用呢

我也想动态组装Skin了