假设我在一个页面上有几张p5画布,我选择使用实例化将它们分开。因为许多方法将执行相同的操作,所以我创建了一个超类。它看起来像这样:
var BasicCanvas = function(p) {
p.setup = function() {
p.createCanvas(100, 100);
p.background(0);
}
p.draw = function() {
}
}
我必须创建一个子类并将其传递给一个新的p5对象,如下所示:
var myP5 = new p5(BasicCanvas);
我应该如何创建我的super的子类,以便将它传递给p5构造函数?我理想的代码设置如下:
var super = function(p) {
p.setup = function() { creation }
}
var sub1 = function(p) {
p.draw = function() { circles }
}
var sub2 = function(p) {
p.draw = function() { squares }
}
var myP5 = new p5(sub1);
var myP52 = new p5(sub2);
但是来自Java,我在解决这些差异方面遇到了一些困难。你能帮忙吗?
谢谢!
答案 0 :(得分:1)
var superFunction = function(p) {
p.setup = function() {
p.createCanvas(200, 150)
p.noStroke()
}
}
var sub1 = function(p) {
superFunction(p)
p.draw = function() {
p.background(50)
p.fill("blue")
p.rect(20,20,50,50)
}
}
var sub2 = function(p) {
superFunction(p)
p.draw = function() {
p.background(100)
p.fill("red")
p.rect(20,20,50,50)
}
}
var myP5 = new p5(sub1)
var myP52 = new p5(sub2)
注意:super
是Javascript中的保留关键字