Geht das auch kürzer? if-schleifen

MClay

Mitglied
Hallo zusammen,
ich habe folgenden code:

Code:
if (position1 == 1) {
		navzumprojekt1._x = 0
		navzumprojekt1._y = 0
		}
if (position1 == 2) {
		navzumprojekt1._x = 0
		navzumprojekt1._y = 24
		}
if (position1 == 3) {
		navzumprojekt1._x = 0
		navzumprojekt1._y = 48
		}
//... usw. bis 20

if (position1 == 20) {
		navzumprojekt1._x = 160
		navzumprojekt1._y = 216
		}

Ab der if-Schleife "if (position1 == 10)" soll navzumprojekt1._x gleich 160 sein.

Kann ich das irgendwie alles kürzer schreiben?

Danke für die Hilfe.

LG, Clay
 
Hi,

ich weiß nicht, wie sich navzumprojekt1._y zu position1 verhält (pro Schritt um 24 erhöhen ist es jedenfalls nicht ;)), aber wenn es da einen mathematischen Zusammenhang gibt, lässt sich das Ding sicher verkürzen.

Ansonsten mit switch:
Code:
switch(position1) {
  case 1: navzumprojekt1._y = 0; break;
  case 2: navzumprojekt1._y = 24; break;
  case 3: navzumprojekt1._y = 48; break;
  ...
}

navzumprojekt1._x = (position1 < 10)? 0 : 160;

Gruß

P.S.: Es gibt keine if-Schleifen - lediglich if-Bedingungen oder -Blöcke (das nur, weil man es leider zu oft hört ;))
.
 
hi erstmal, bin kein fachmann dafür, aber
du könntest eventuell erst überprüfen ob:
if (position1 >= 10)
oder
if (position1 < 10)
ist und dann je nachdem alles durchgehen vom quellcode her tut sich da nicht sehr viel (wird sogar ein klein wenig mehr), aber von der zeit her isses was kürzer (wenn ich mich nich ganz irre)
und ich weiß nit genau wie das mit flash ist gibt es da auch so eine switch case anweisung wie in c++ wenn ja versuchs damit achja und eventuell noch en break oder en return in die if abfragen damit der nit alles durch geht sondern sobald ers gefunden hat weiter macht, esseiden er soll alles durchlaufen?!
 
Zuletzt bearbeitet:
Zurück