Ich versuche, ein bestimmtes Bild nur für die erste Iteration einer for-Schleife durch einen Schalter festzulegen. Für case 'f'
möchte ich ein anderes Bild auf der ersten Iteration hinzufügen.Erstellen einer If-Anweisung für die erste Runde von Switch Java
Wie würde ich das tun? Ist es überhaupt möglich, den Überblick innerhalb eines Schalters zu behalten?
for (char c : symbols) {
switch (c) {
case 'X':
g2.setColor(Color.BLACK);
g2.drawImage(wallImg, x, y, width, height, null);
break;
case 's':
g2.setColor(Color.GREEN);
g2.drawImage(snakeImg, x, y, width, height, null);
break;
case 'f':
g2.setColor(Color.ORANGE);
g2.drawImage(burgerImg, x, y, width, height, null);
break;
case '.':
g2.setColor(Color.WHITE);
g2.fillRect(x, y, width, height);
break;
case '\n':
y += height;
}
ein boolesches Flag hinzufügen, bevor der Schalter dann tue ein if (boolean flag), um zu sehen, ob es wahr/falsch ist, dann gehst du ins else, wenn es wahr ist, damit du ein anderes Bild laden kannst. – Artemis
Die Iterationszählung sollte überhaupt nicht Teil des Malprozesses sein, da Sie nicht kontrollieren können, wie, ob oder wann das Malen stattfindet. Die Änderung des Objektstatus sollte in Ihrer Spielschleife sein (wahrscheinlich ein Swing-Timer). Die Malmethode sollte nur den Zustand des Modells wiedergeben, aber nicht ändern. –
Hat dies Ihr Problem gelöst? @ User5402 Sie haben es nicht als Lösung markiert - welches Problem haben Sie daraus erhalten? – Artemis