Javascript Toxiclibs.js扩展粒子类
这可能有点太具体了,但这里可能有人有扩展toxiclib.js的粒子类的经验 我不断得到:Javascript Toxiclibs.js扩展粒子类,javascript,subclass,processing,Javascript,Subclass,Processing,这可能有点太具体了,但这里可能有人有扩展toxiclib.js的粒子类的经验 我不断得到: TypeError: this.setWeight is not a function 我正在做一件非常简单的事情(我正在使用Processing.js): Processing.js和其他库之间的继承还没有完全解决。有一个变通办法 第一件事是通过完整的名称空间引用VerletParticle2D: class Particle extends toxi.physics2d.VerletParticl
TypeError: this.setWeight is not a function
我正在做一件非常简单的事情(我正在使用Processing.js):
Processing.js和其他库之间的继承还没有完全解决。有一个变通办法 第一件事是通过完整的名称空间引用VerletParticle2D:
class Particle extends toxi.physics2d.VerletParticle2D
第二部分是将其添加到toxiclibs.js的VerletParticle2D构造函数中(在撰写本文时,即build/toxiclibs.js的第9941行):
第三部分是在定义类后的任意位置添加这两行。不幸的是,这两行代码不能很好地处理IDE:
Particle.prototype = new toxi.physics2d.VerletParticle2D();
Particle.prototype.constructor = Particle;
您也可以将这3种模式应用于任何其他类以扩展它们。
另外,Processing 2.0 Alpha 5发布了一个新功能,它将在附带的.jar旁边拉一个.js文件。因此,如果您将toxiclibs.js放在toxiclibscore.jar旁边并重命名它,它将与您的草图一起导出。这将使您更容易拥有一个对其进行一些修改以扩展类的版本
我已经上传了web导出的草图,修改后的toxiclibscore.js文件如下:
祝你好运 嗨,我尝试过这种方法,它适用于扩展其他类,但是我想知道您是否可以推荐将扩展类添加到物理中的最佳方法?它看起来像物理学。addParticle(扩展粒子);实际上不起作用。。或者我可能做错了什么。
if(!(this instanceof VerletParticle2D)){
return new VerletParticle2D(x,y,w);
}
Particle.prototype = new toxi.physics2d.VerletParticle2D();
Particle.prototype.constructor = Particle;