【发布时间】:2016-04-14 17:58:40
【问题描述】:
所以这是我的总代码,所以我从 flickr 获取一个图像,将其存储在一个数组中,然后在 draw 中循环这些图像。然后我希望他们动画到 100,100 点。有关更详细的说明,请参阅我的评论。
int imageIndex;
XML xml;
String tag_mode = "all";
String words[];
PImage[] displayImages;
int amount = 500;
int counter = 0;
PrintWriter output;
int j = 0;
int x =50;
int y = 50;
String labelNaam = "Medium";
void setup() {
size(500, 500);
String lines[] = loadStrings("text.txt");
words = split(lines[0], " ");
displayImages = new PImage[amount];
output = createWriter("positions.txt");
for (int k = 0; k<words.length; k++) {
int randomX = int(random(2));
if (randomX == 1) {
x = displayWidth;
} else {
x = -500;
}
int randomX2 = int(random(2, 4));
if (randomX2 == 2) {
y = displayHeight;
} else {
y = -500;
}
String query = "https://api.flickr.com/services/rest/?method=flickr.photos.search&api_key=MY_API_KEY&tags="+ words[k] + "&sort=relevance&extras=url_o&tag_mode="+ tag_mode +"format=rest";
xml = loadXML(query);
XML[] children = xml.getChildren("photos");
if (children.length > 0) {
XML[] childPhoto = children[0].getChildren("photo");
// println(childPhoto);
if (childPhoto.length > 0) {
for (int i = 0; i < 1; i++) {
String id = childPhoto[i].getString("id");
String title = childPhoto[i].getString("title");
String user = childPhoto[i].getString("owner");
String url = "https://www.flickr.com/photos/"+user+"/"+id;
String query2 ="https://api.flickr.com/services/rest/?method=flickr.photos.getSizes&api_key=MY_APIKEY&photo_id="+id+"&format=rest";
xml= loadXML(query2);
XML[] children2 = xml.getChildren("sizes");
if (children2.length > 0) {
XML[] childSize2 = children2[0].getChildren("size");
if (childSize2.length >0) {
println(counter);
if (counter <= words.length) {
String labelNaam = "Medium";
String label = childSize2[5].getString("label");
String source = childSize2[5].getString("source");
displayImages[counter] = loadImage(source, "jpg");
counter++;
}
}
}
}
}
}
}
textAlign(CENTER, CENTER);
smooth();
}
void draw() {
if (j > words.length-1) {
j = 0;
}
if (displayImages[j] != null) {
println(x + "|||||"+ y);
image(displayImages[j], x, y);
j++;
}
if (x < 100) {
x+=100;
} else {
x-=100;
}
if (y < 100) {
y+=100;
} else {
y-=100;
}
delay(1000);
}
【问题讨论】:
标签: arrays image jquery-animate processing