文件“Starting.gif0000.gif”缺失或无法访问,请确保URL有效或文件已添加到草图中且可读

时间:2015-08-01 16:19:25

标签: processing

我正在尝试将.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”缺失或无法访问,请确保该网址有效或该文件已添加到草图中且可读。

2 个答案:

答案 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中添加或删除图像将为您完成此操作。或者你可以手动完成。