PixiJS项目继承Spine类报错:spineData参数缺失问题求助
解决PixiJS继承Spine类时的"spineData param is required"报错
错误原因
PixiJS的Spine类构造函数强制要求传入spineData参数,你之前的代码要么调用super()时未传参,要么传参逻辑没正确传递给父类构造函数,因此触发报错。
正确实现方式
方式1:构造函数接收spineData并传递给父类
export class TargetView extends Spine { constructor(spineData) { // 必须优先调用super并传入spineData,满足Spine类的构造要求 super(spineData); // 此处添加子类自定义的初始化逻辑 } } // 实例化时传入获取到的spineData const target = new TargetView(RESOURCES.getSpineData("shooting"));
方式2:子类内部自行获取spineData并传递
export class TargetView extends Spine { constructor() { // 先获取有效的spineData,再传给父类构造函数 const spineData = RESOURCES.getSpineData("shooting"); super(spineData); // 子类自定义逻辑 } } // 实例化时无需传参 const target = new TargetView();
注意事项
- ES6类继承中,
super()必须是子类构造函数的第一个执行语句(参数准备代码除外),因此要确保在调用super()前已获取到有效的spineData - 确认
RESOURCES.getSpineData("shooting")能返回合法的SpineData对象,避免传入undefined或null引发新错误
内容的提问来源于stack exchange,提问作者OverLord GM
相关产品推荐
相关产品推荐

