Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/464.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Toxiclibs.js扩展粒子类_Javascript_Subclass_Processing - Fatal编程技术网

Javascript Toxiclibs.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

这可能有点太具体了,但这里可能有人有扩展toxiclib.js的粒子类的经验

我不断得到:

 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;