Наследование между Processing.js и другими библиотеками не все понял еще нет. Существует обходное решение.
Первым делом нужно обратиться к VerletParticle2D его полным пространством имен:
class Particle extends toxi.physics2d.VerletParticle2D
Вторая часть, чтобы добавить это конструктор toxiclibs.js' для VerletParticle2D (на момент написания этого, то есть строка # 9941 постройки/toxiclibs.js):
if(!(this instanceof VerletParticle2D)){
return new VerletParticle2D(x,y,w);
}
Третья часть, чтобы добавить эти 2 строки в любом месте после того, как вы определили свой класс. К сожалению, эти 2 строки не будет играть хорошо с процессингового IDE:
Particle.prototype = new toxi.physics2d.VerletParticle2D();
Particle.prototype.constructor = Particle;
Вы можете применить эти 3 модели для любого другого класса, а также расширить их. Кроме того, Processing 2.0 Alpha 5 выпустила новую функцию, которая потянет файл .js рядом с сопровождающим .jar. Поэтому, если вы поместите toxiclibs.js рядом с toxiclibscore.jar и переименуйте его, он будет экспортироваться с вашим эскизом. Это упростит использование одной версии для некоторых расширений классов.
Я загрузил веб-экспортироваться эскиз, с измененным toxiclibscore.js файл здесь: http://haptic-data.com/toxiclibsjs/misc/ToxiclibsjsExtend.zip
удачи!
wow спасибо! – Stpn
Привет, я пробовал этот подход, и он работает для расширения других классов. Интересно, однако, если вы можете рекомендовать лучший способ добавления расширенных классов в физику? Это выглядит как физика.addParticle (extendedParticle); на самом деле не будет работать. Или я могу делать что-то неправильно. – Stpn