tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
3
ZUGRIFFE
1107
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    MClay MClay ist offline Mitglied
    Registriert seit
    Jun 2007
    Beiträge
    21
    Hallo zusammen,
    ich habe folgenden code:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    
    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
     

  2. #2
    Registriert seit
    Mar 2004
    Ort
    Basisrealität
    Beiträge
    12.118
    Blog-Einträge
    7
    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 :
    1
    2
    3
    4
    5
    6
    7
    8
    
    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 )
    .
     

  3. #3
    Praktikant132 Praktikant132 ist offline Mitglied
    Registriert seit
    Mar 2007
    Beiträge
    14
    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?!
    Geändert von Praktikant132 (18.06.07 um 10:19 Uhr)
     

  4. #4
    MClay MClay ist offline Mitglied
    Registriert seit
    Jun 2007
    Beiträge
    21
    Ok, Danke euch beiden.
    ich werd mal mit switch probieren.
    Ist auf jeden Fall eleganter.

    LG, Clay
     

Ähnliche Themen

  1. Kleines PM System, geht es auch kürzer?
    Von spikaner im Forum PHP
    Antworten: 1
    Letzter Beitrag: 20.12.09, 00:04
  2. Geht das auch in c4d?
    Von luke5 im Forum Cinema 4D
    Antworten: 5
    Letzter Beitrag: 22.09.05, 22:19
  3. Variablen auch ausserhalb der Schleifen nutzen?
    Von eliasb im Forum .NET Archiv
    Antworten: 14
    Letzter Beitrag: 21.04.05, 19:12
  4. geht so etwas auch mit 3dsm?
    Von LZD im Forum 3D Studio Max
    Antworten: 6
    Letzter Beitrag: 01.05.03, 15:15
  5. Geht das überhuapt und wenn mit schleifen?
    Von Subwoover im Forum PHP
    Antworten: 4
    Letzter Beitrag: 05.06.02, 23:15