PIXI.js 7中PIXI.Shader.from报错,求问API改动原因
PIXI.js v7中
PIXI.Shader.from报错的原因与修复方案 问题背景
我想在项目中使用某教程的代码,但在PIXI.js最新版本7中运行时,报错Uncaught TypeError: PIXI.Shader.from is not a constructor。查阅文档后发现PIXI.Shader.from函数的描述似乎未变,请问是什么变更导致了这个问题?
原代码片段中出错的关键行:
const material = new PIXI.Shader.from(null, shaderCode, uniforms)
问题原因
在PIXI.js v7的架构调整中,PIXI.Shader.from从构造函数调用方式改为了静态方法调用,不再需要使用new关键字实例化。旧代码中用new PIXI.Shader.from(...)的写法会被JS引擎判定为尝试调用一个不存在的构造函数,因此抛出错误。
尽管文档中对PIXI.Shader.from的参数和功能描述没有明显变化,但调用方式的这个细节调整是v7版本的隐性变更,容易被忽略。
修复方案
只需要去掉new关键字,直接调用静态方法即可:
// 修改后的正确写法 const material = PIXI.Shader.from(null, shaderCode, uniforms)
替换后,原代码的其余部分可以正常在PIXI.js v7中运行。
内容的提问来源于stack exchange,提问作者damianh
相关产品推荐
相关产品推荐

