2017-11-03 3 views
0

Ich bin völlig neu in der Verarbeitung, sehr enthusiastisch, aber wirklich ratlos an der ersten Hürde. Ich schätze die Tatsache sehr, dass dies sicherlich sehr einfache Dinge sind, aber ich würde mich freuen, wenn mir jemand helfen könnte, weiterzugehen.Machen Sie jedes Wort in einer Liste erscheinen und verschwinden dann in Verarbeitung

Ich suche nach einer Möglichkeit, eine lange Liste von Wörtern einzugeben, die dann eins nach dem anderen angezeigt werden, wobei jedes für 1 Sekunde erscheint und dann verschwindet.

Ich habe einen Weg gefunden, einen ganzen Satz zu drucken und Wörter einzeln verschwinden zu lassen, und versuchte das unten, das scheint ein wenig besser zu funktionieren. Das Problem dabei ist, dass ich nicht herausfinden kann, wie man mehr Wörter zu der Schleife hinzufügt, es scheint nur einen gegen den anderen zu berücksichtigen. Kann ich einen völlig anderen Ansatz wählen?

Vielen Dank, das ist, wo ich bin bis zu

String Carol = "Carol"; 
String Charlotte = "Charlotte"; 
String Ellen = "Ellen"; 
String displayed =""; 

int interval = 1000; // s 
int time; 

PFont font; 

void setup() { 
size(500, 500); 
font = createFont("arial", 44); 
background(0); 
displayed = Carol; 
time = millis(); 
textFont(font); 
fill(255); 
} 

void draw() { 
background(0); 
text(displayed, width/2 - textWidth(displayed)/2, height/2); 

if (millis() - interval > time) { 
displayed = displayed.equals(Carol)? Charlotte:Carol; 
time = millis(); 
+0

Welche Schleife? Verwenden Sie ein String ArrayList-Objekt, um alle Ihre Wörter oder Sätze aufzunehmen. Sie können diese Liste entweder manuell (fest codiert), aus einer Datei, aus einer Datenbank oder sogar aus einer Website ausfüllen ... wo immer Sie möchten. In einem separaten Thread Iteriere durch die Liste und rufe bei jeder Iteration deine Word-Draw-Methode auf (Halte den Thread für die Dauer und verzögere das nächste Wort). Es gibt viele Möglichkeiten, so etwas zu tun. Benutze eine Liste: 'Liste list = new ArrayList <>();' und zur Liste hinzufügen: 'list.add (" Carol "); list.add ("Charlotte"); list.add ("Ellen"); ... etc'. – DevilsHnd

+0

Haben Sie das jemals herausgefunden? –

Antwort

0

Stack-Überlauf ist wirklich nicht für den allgemeinen entworfen „wie mache ich das“ Art Fragen. Es ist für spezifische "Ich versuchte X, erwartetes Y, aber bekam Z stattdessen" Art der Fragen. Aber ich werde versuchen, in einem allgemeinen Sinn zu helfen.

Sie müssen break your problem down into smaller steps und dann diese Schritte einzeln nacheinander ausführen. Können Sie beispielsweise ein einfaches Beispielprogramm schreiben, das nur eine einzige fest codierte Zeichenfolge zeigt? Kannst du es jetzt so machen, dass die Saite nach 1 Sekunde verschwindet? Versuchen Sie dann, eine zweite hartcodierte Zeichenfolge hinzuzufügen, die nach der ersten angezeigt wird.

Dann, wenn Sie stecken bleiben, können Sie eine MCVE zusammen mit einer bestimmten technischen Frage veröffentlichen. Viel Glück.

Hinweis: Sie können wahrscheinlich die millis() Funktion oder die frameCount Variable verwenden. Die ist dein Freund. Aber noch einmal, fang einfach an und arbeite dich in kleinen Schritten vorwärts!

Verwandte Themen