我正在尝试将.gif文档合并到我的Processing代码中,但似乎URL出现了问题。 gif文档与我的草图在同一个文件夹中,我不知道出了什么问题。
Animation animation1;
float xpos;
float ypos;
float drag = 30.0;
void setup() {
size(640, 360);
background(255);
frameRate(24);
animation1 = new Animation("Starting.gif", 38);
ypos = height * 0.25;
}
void draw() {
background(255);
float dx = mouseX - xpos;
xpos = xpos + dx/drag;
animation1.display(xpos-animation1.getWidth()/2, ypos);
}
// Class for animating a sequence of GIFs
class Animation {
PImage[] images;
int imageCount;
int frame;
Animation(String imagePrefix, int count) {
imageCount = count;
images = new PImage[imageCount];
for (int i = 0; i < imageCount; i++) {
// Use nf() to number format 'i' into four digits
String filename = imagePrefix + nf(i, 4) + ".gif";
images[i] = loadImage(filename);
}
}
void display(float xpos, float ypos) {
frame = (frame+1) % imageCount;
image(images[frame], xpos, ypos);
}
int getWidth() {
return images[0].width;
}
}
错误消息
文件“Starting.gif0000.gif”缺失或无法访问,请确保该网址有效或该文件已添加到草图中且可读。
文件“Starting.gif0001.gif”缺失或无法访问,请确保该网址有效或该文件已添加到草图中且可读。
文件“Starting.gif0002.gif”缺失或无法访问,请确保该网址有效或该文件已添加到草图中且可读。
答案 0 :(得分:1)
注意班级定义。它需要许多单独的图像,并使其成为输出的gif。您需要做的是将您获得的Starting.gif分成38个文件(如果实际上有38个框架),每个文件名为“Starting0000.gif”,“Starting0001.gif”,“Starting0002.gif”......“Starting0037 .gif要点”。
animation1 = new Animation("Starting", 38);
答案 1 :(得分:0)
它应该位于名为data
的文件夹中。此文件夹应位于草图的同一文件夹中。
SketchFolder
Sketch.pde
data
Image.gif
使用菜单在PDE中添加或删除图像将为您完成此操作。或者你可以手动完成。