我正在做一个项目,在这个项目中,我试图想象足球队随着一年的时间在队伍中上下移动的日志。
我将代表团队的图像保存到一个数组中,并在绘图函数中调用它。现在我想使用 shapetween 补间他们的动作,但我不知道在哪里初始化团队的 x 和 y 位置。如果我尝试全局初始化它们,我会收到以下错误消息:
Cannot reference a field before it is defined
当我尝试在本地初始化 x 和 y 值时,它说它们需要初始化。我的代码在下面,我在使用 OS X 的 Mac 上运行 Processing 2.0b7,虽然它可能没有显示我已将 shapetween 库添加到草图中:
PImage[] images = new PImage[17];
PImage img = new PImage();
float x1; //Current x-coord
float y1; //Current y-coord
float x2;
float y2;
float x = lerp(x1, x2, ani.position());
float y = lerp(y1, y2, ani.position());
Tween ani;
void setup() {
size(600, 1600);
frame.setResizable(true);
for (int i = 0; i < images.length; i++) {
images[i] = loadImage(i + ".png");
}
for (int i = 0; i < images.length; i++) {
images[i].resize(200, 60);
}
ani = new Tween(this, 2, Tween.SECONDS);
background(0);
}
void draw() {
image(images[0], 400, 100);
image(images[1], 100, 100);
image(images[2], 100, 160);
image(images[3], 100, 220, 100, 160);
image(images[4], 100, 280);
image(images[5], 100, 340);
image(images[6], 100, 400);
image(images[7], 100, 460);
image(images[8], 100, 520);
image(images[9], 100, 580);
image(images[10], 100, 640);
image(images[11], 100, 700);
image(images[12], 100, 760);
image(images[13], 100, 820);
image(images[14], 100, 880);
image(images[15], 100, 940);
image(images[16], 100, 900);
}
void mousePressed() {
ani.start();
}