使GLWindow成为处理中可调整大小的 P3D 渲染器可能存在问题。从提供的少量信息来看,似乎根本不需要使用P3D
。使用默认 ( JAVA2D
) 渲染器,窗口将无法调整大小:它是默认值。
关于这个小问题,我也有小问题:为什么?:)
就可用性而言,理想情况下您希望您的应用程序保持一致。
如果您真的很想这样做,一种使文本居中的方法是在“HELLO WORLD”之前添加一些空格。您将需要根据系统字体(每个操作系统和用户偏好可能不同)来确定移动字符串的像素数,如果它是等宽字体(在大多数情况下不是),它会更容易。很多事情要考虑,如果你想把它钉在像素完美上,很多事情可能会出错,从所有这些努力中会得到什么?
无论如何,这是一个测试草图:
void setup(){
size(300,300, JAVA2D);
background(0,192,0);
// don't need this with JAVA 2D: it's the default
//surface.setResizable(false);
String title = "Hello World";
// estimated char width: assumes font is monospaced (Arial/Verdana it isn't)
int charWidth = 6;
// calculate left margin
int leftMargin = (width - (title.length() * charWidth)) / 2;
// calculate the number of chars to prepent
int chars = leftMargin / charWidth;
// prepend spaces to move text to the right
for(int i = 0 ; i < chars; i++){
title = " " + title;
}
surface.setTitle(title);
}
你甚至可以为它制作你想要的动画:
void draw(){
String title = "->";
for(int i = 0 ; i < (int)map(sin(frameCount * 0.1), -1, 1, 0, 21); i++){
title = "-" + title;
}
surface.setTitle(title);
}
真的值得付出努力并浪费 CPU 周期吗?可能不是 :)