我在一个类中有两个函数
void display()
和
void write(PGraphics pdf)
我使用display()
向屏幕显示元素。有没有办法调用display()
中的代码,以便我不必在write(pdf)
内再次写出每个函数?例如
line(0,0,100,100)
到pdf.line(0,0,100,100)
等
答案 0 :(得分:1)
您可以通过绘制到PGraphics
图像而不是直接绘制到屏幕来执行此操作,然后将该图像绘制到屏幕上。这样您就可以将其换成PDF PGraphics
而无需更改任何代码。像这样:
PGraphics pg;
PGraphics pdf;
boolean usePdf = false;
void setup() {
size(100, 100);
pg = createGraphics(width, height);
pdf = //whatever
}
void draw(){
if(usePdf){
display(pdf);
}
else{
display(pg);
image(pg, 0, 0);
}
}
void display(PGraphics g) {
g.beginDraw();
g.background(100);
g.stroke(255);
g.line(20, 20, mouseX, mouseY);
g.endDraw();
}
答案 1 :(得分:0)
如果你想使用所有代码jsut在里面调用它(但我想你不想这样做)
你应该折射代码并将你想要在两种方法中使用的东西放入它自己的方法中,如:
private void hopefullyIGetABetterName(...) {...}
您可以在display
内以及write
内调用此方法
我希望这有帮助,否则随便问: - )
答案 2 :(得分:0)
Drawable
)Drawable
以便绘制到屏幕上。Drawable
以绘制到PDF draw
方法。display()
以致电draw(screenDrawable)
write(...)
以致电draw(pdfDrawable)