如何更改第二个applet上的字体?我试图在settings()或setup()中更改它,但它只影响第一个屏幕上的字体,有时我有一个错误NullPointException。感谢。
PFont font;
void setup() {
String[] args = {"TwoFrameTest"};
SecondApplet sa = new SecondApplet();
PApplet.runSketch(args, sa);
font = loadFont("Arial-Black-30.vlw");
textFont(font);
}
void settings() {
size(300, 100);
}
void draw() {
background(0);
fill(255);
text("Hello world!",50,40);
}
public class SecondApplet extends PApplet {
public void settings() {
size(200, 200);
}
public void draw() {
background(255);
fill(0);
text("Hello world!",50,40);
}
}
答案 0 :(得分:0)
您发布的代码从不设置第二个草图的字体。它只设置第一个草图的字体。
如果要在第二个草图中使用font
变量,首先必须确保在运行第二个草图之前加载它。换句话说,您的第一个草图setup()
需要看起来像这样,loadFont()
之前发生runSketch()
:
void setup() {
font = loadFont("Arial-Black-30.vlw");
textFont(font);
String[] args = {"TwoFrameTest"};
SecondApplet sa = new SecondApplet();
PApplet.runSketch(args, sa);
}
然后,如果您想在第二个草图中使用font
,则必须从setup()
或draw()
开始,而不是从settings()
开始。
public class SecondApplet extends PApplet {
public void settings() {
size(200, 200);
}
public void setup() {
textFont(font);
}
public void draw() {
background(255);
fill(0);
text("Hello world!", 50, 40);
}
}
总而言之,它看起来像这样:
PFont font;
void setup() {
font = createFont("SourceCodePro-Regular.ttf", 24);
String[] args = {"TwoFrameTest"};
SecondApplet sa = new SecondApplet();
PApplet.runSketch(args, sa);
textFont(font);
}
void settings() {
size(300, 100);
}
void draw() {
background(0);
fill(255);
text("Hello world!", 50, 40);
}
public class SecondApplet extends PApplet {
public void settings() {
size(200, 200);
}
public void setup() {
textFont(font);
}
public void draw() {
background(255);
fill(0);
text("Hello world!", 50, 40);
}
}