2016-04-26 14 views
2

Kann mir jemand helfen, ich bin irgendwie neu bei der Programmierung, aber war in der Verarbeitung und muss ein Programm erstellen, die zwei Arrays zu einem vereint und zeigt sie genau auf der gleichen Position? Es durchläuft also ein Array, das 23 Bildern entspricht und dann das andere Array, also 8 Bilder. Ich habe dies so weit:konvertieren Bild-Array zu 2d-Array, Verarbeitung

PImage[][] mEyes1 = new PImage[23][8]; 
// PImage[] mEyes2 = new PImage[8]; 

void setup() { 
    size(620, 400); 
    // fullScreen(); 
    frameRate(60); 
    smooth(); 

    for (int i = 0; i < mEyes1.length; i++) 
    for (int j = 0; j < mEyes1.length; j++) { 
     PImage img = loadImage(i + "h.jpg"); 
     PImage img1 = loadImage(j + "j.jpg"); 

     // r 
     mEyes1[i][j] = img.get(130, 170, 310, 100); 
     mEyes1[i][j] = img1.get(130, 170, 310, 100); //Get a portion of the loaded image with displaying it 

     int idy = (int)map(mouseY, 0, 2*width, 0.0, mEyes1[i].length -1); 
     int idx = (int)map(mouseX, 0, 2*width, 0.0, mEyes1[j].length -1); 

     image(mEyes1[idx][idy], 0, 0, mEyes1[idx][idy].width, mEyes1[idx][idy].height -1); 
     // image(mEyes1[idy][idx], 0, 0, mEyes1[idy][idx].width, mEyes1[idy][idx].height -1); 

     println(idx,idy); 
    } 
} 

void draw() { 
} 

Ich weiß, es falsch aussieht, aber ich möchte eine Reihe von Bildern an der gleichen Position angezeigt werden, nachdem sie durch die ersten 23 geht?

Danke!

+0

Könnten Sie bitte Ihre Frage bearbeiten, um zu klären, was Sie meinen? Sie sprechen über zwei Ziele - ein Programm, das "zwei Arrays zu einem zusammenfasst und sie exakt an der gleichen Position anzeigt" und "zyklisch durch ein Array, das wie 23 Bilder und dann das andere Array mit 8 Bildern ist". Wenn Sie ein Modell, einen Screenshot oder einen Link zu einem Beispiel hinzufügen könnten, das bereits implementiert, was Sie möchten, wäre es sehr hilfreich. – mbaytas

+0

Ihre Frage macht keinen Sinn. Können Sie genau beschreiben, was Sie meinen, wenn Sie zwei Arrays kombinieren und an derselben Position anzeigen? Stellen Sie einige einfache Mock-up-Bilder zusammen. Was genau meinen Sie damit, wenn Sie eine Reihe von Bildern an derselben Position anzeigen? Kannst du genauer sein? Was macht dieser Code? Wie unterscheidet sich die Ausführung von dem, was Sie erwarten? –

Antwort

0

Blick auf dieser Linie:

PImage[][] mEyes1 = new PImage[23][8]; 

Dies ist ein 2D-Array zu schaffen, die ein Array von Arrays ist. Mit anderen Worten, Sie erstellen 23 Arrays der Länge 8 für insgesamt 184 (23 * 8) Indizes. Ich denke nicht, dass du das machen willst.

Stattdessen klingt es wie Sie einfach eine Anordnung von 31 (23 + 8) Indizes erstellen möchten:

PImage[] mEyes1 = new PImage[31]; 

Dann könnten Sie durch Ihre Bilddateien verwenden, um zwei for Schleifen Schleife und fügen Sie sie in die Array:

for(int i = 0; i < hImageCount; i++){ 
    PImage img = loadImage(i + "h.jpg"); 
    mEyes1[i] = img; 
} 

for(int j = 0; j < jImageCount; j++){ 
    PImage img1 = loadImage(j + "j.jpg"); 
    mEyes1[hImageCount+j] = img1; 
}