Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 12-08-2003, 11:46   #1 (permalink)
...
 
Registriert seit: Oct 2002
Ort: Nürnberg
Beiträge: 3.611
code kürzen

hi, wie kürze ich am besten diese if-abfrage?
dass nicht die ganzen oder-unterscheidungen drinn sind? da noch mind. 6 unterscheidungen dazukommen...
(array?!?!)
oder gehts nimmer kürzer?
ActionScript:
  1. tilePos == this.num-1 || tilePos == this.num-(numRows+1) || tilePos == this.num+(numRows-1) ? this._alpha=alpha : this._alpha=100;
thorben.schmitt ist offline   Mit Zitat antworten
Alt 12-08-2003, 12:02   #2 (permalink)
[Ernst Reiter]
 
Benutzerbild von Scrawer
 
Registriert seit: Jul 2001
Ort: austria
Beiträge: 3.691
naja wenn das alles bzw eines davon Bedingung sein muss... kannst es nicht kürzen wie ich.....

Flash arbeitet die Abfrage ja von links nach rechts ab... sobald eines true ist...
bricht er ab.. und der rest kommt gar nicht mehr an die reihe in deinem fall da es ja ein 'or' ist
daher solltest es halt sinnvoll sortieren....
sprich jenes das am öftesten eintritt ganz nach links setzen.....

wegen Array.... sicher du kannst das ganze in eine Funktion auslagern... wo du per array argument die werte übergibst...
und in einer for schleife die Bedingungen so lange prüfst bis eine eintritt und dann ein break u. return true setzt...
jedoch macht das den code nur übersichtlicher... aber sicher nicht schneller... eher langsamer
__________________
Das Gesetz des Lebens liegt im Notwendigen. Der Reiz des Lebens liegt im Überflüssigen
m.f.g Scrawer (www.thinkspace.at)

Geändert von Scrawer (12-08-2003 um 12:07 Uhr)
Scrawer ist offline   Mit Zitat antworten
Alt 12-08-2003, 12:07   #3 (permalink)
Flashworker
 
Benutzerbild von sebastian
 
Registriert seit: Nov 2001
Ort: Wiesbaden
Beiträge: 10.945
kA wie man das vereinfacht, hab auch nichts passendes in der referenz gefunden

aber schonmal so viel:
ActionScript:
  1. this._alpha = (tilePos == this.num-1 || tilePos == this.num-(numRows+1) || tilePos == this.num+(numRows-1)) ? alpha : 100;

Sebastian
sebastian ist offline   Mit Zitat antworten
Alt 12-08-2003, 12:25   #4 (permalink)
...
 
Registriert seit: Oct 2002
Ort: Nürnberg
Beiträge: 3.611
ok, danke euch, werd wohl alles in eine zeile schreiben, da die preformance sowie so schon nichtmehr die beste ist
thorben.schmitt ist offline   Mit Zitat antworten
Alt 12-08-2003, 13:05   #5 (permalink)
helpQLODhelp
 
Benutzerbild von bokel
 
Registriert seit: Feb 2002
Ort: Köln
Beiträge: 8.505
Du könntest num rauskürzen:

ActionScript:
  1. var tp = tilePos - this.num;
  2. this._alpha = (tp == - 1 || tp == - (numRows + 1) || tp == (numRows - 1)) ? alpha : 100;

Alles in eine Zeile zu schreiben bringt übrigens performancemäßig nichts. Das wäre ein bißchen zu einfach
Du kannst die Bedingungen nach ihrer Häufigkeit sortieren, also die Bedingung, die am meisten vorkommt zuerst abfragen, das könnte etwas Performance bringen.

mfg r.
bokel ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 23:29 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele