Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 19-09-2006, 12:29   #1 (permalink)
Flashfreak
 
Benutzerbild von ELfivEL
 
Registriert seit: Nov 2005
Beiträge: 42
If verkürzen

Servus,

Code:
_currentframe<$frame ? nextFrame() : _currentframe>$frame ? prevFrame() :
im ELSE-Block will ich nun mehrere Funktionen ausführen..

1te Möglichkeit, ich schreibe eine Methode, die die entsprechenden Funktionen ausführt..

Aber.. gibt es keine andere Möglichkeit?! Etwas wie...

Code:
_currentframe<$frame ? nextFrame() : _currentframe>$frame ? prevFrame() : {  test(); bla(); }
Naja so nimmt er es nicht an, aber gibts nicht etwas vergleichbares?
ELfivEL ist offline   Mit Zitat antworten
Alt 19-09-2006, 12:32   #2 (permalink)
Techniker
 
Benutzerbild von hgseib
 
Registriert seit: Sep 2003
Ort: 64807
Beiträge: 16.322
if (x)
{
}
else if (x)
{
}
else
{
}

die kurzschreibweisse ist nicht gemacht worden, um da ganze romane rein zu schreiben ;-)
ausserdem wird's dann echt unübersichtlich.
__________________
die ultimative antwort auf alle programmierfragen: der debugger
mfg h.g.seib www.SeibsProgrammLaden.de

Geändert von hgseib (19-09-2006 um 12:34 Uhr)
hgseib ist offline   Mit Zitat antworten
Alt 19-09-2006, 12:36   #3 (permalink)
.
 
Registriert seit: May 2003
Ort: bayern
Beiträge: 1.117
try this:
PHP-Code:
5;
a>trace("a"):trace('b'),trace('c'); 
__________________
[mooseMash]
mooseMash ist offline   Mit Zitat antworten
Alt 19-09-2006, 12:44   #4 (permalink)
Flashworker
 
Benutzerbild von sebastian
 
Registriert seit: Nov 2001
Ort: Wiesbaden
Beiträge: 10.945
Also
1. Stimmt die Syntax nicht
2. Ist der tenäre Oprator keine verkürzte If Abfrage
3. Übersicht hat hier definitiv den Vorrang
sebastian ist offline   Mit Zitat antworten
Alt 19-09-2006, 12:54   #5 (permalink)
Flashfreak
 
Benutzerbild von ELfivEL
 
Registriert seit: Nov 2005
Beiträge: 42
this.animateStop()

Zitat:
Zitat von Sebastian W. Beitrag anzeigen
Also
1. Stimmt die Syntax nicht
Der Compiler gibt aber keinen Fehler!?
Zitat:
Zitat von Sebastian W. Beitrag anzeigen
2. Ist der tenäre Oprator keine verkürzte If Abfrage
Ok, aber er macht das gleiche wie eine verschachtelte IF-Abfrage.. und ist von der Schreibweise kürzer..
Zitat:
Zitat von Sebastian W. Beitrag anzeigen
3. Übersicht hat hier definitiv den Vorrang
Ich arbeite nicht in großen Projekten mit 20 Mann an einer Datei und glaube, dass man in meine Fall sogar für eine bessere Übersicht sorgt, wenn man Code etwas "schlanker" macht...

Grundlegend hast du natürlich recht, was die Übersichtlichkeit angeht,.. aber wie gesagt, ich arbeite jetzt nich an einem riesigen Projekt.

Wenn du aber auf irgendeine Quelle verweisen kannst, wo man solche Dinge nachlesen kann, was Tipps zum übersichtlicheren arbeiten betrifft, dann wäre ich sehr dankbar, mich dort ein wenig weiter zu bilden.

Geändert von ELfivEL (19-09-2006 um 12:56 Uhr) Grund: Ergänzung
ELfivEL ist offline   Mit Zitat antworten
Alt 19-09-2006, 12:58   #6 (permalink)
Flashworker
 
Benutzerbild von sebastian
 
Registriert seit: Nov 2001
Ort: Wiesbaden
Beiträge: 10.945
Zitat:
Zitat von ELfivEL Beitrag anzeigen
Der Compiler gibt aber keinen Fehler!?

Ok, aber er macht das gleiche wie eine verschachtelte IF-Abfrage.. und ist von der Schreibweise kürzer..

Ich arbeite nicht in großen Projekten mit 20 Mann an einer Datei und glaube, dass man in meine Fall sogar für eine bessere Übersicht sorgt, wenn man Code etwas "schlanker" macht.
Fungiert bedingt als If Abfrage; trotzdem ist es nicht genau das gleiche wie
die if Abfrage, nur verkürzt...aber wie auch immer.

Ich schaue mir deinen Code an und habe keinerlei Ahnung was der machen
soll. Seh natürlich, dass du irgendwie den aktuellen Frame abfangen willst.
Aber ansonsten schau ich mir das an und sehe nur Bahnhof, also null Übersicht.

In jeder Hinsicht: Lass das

Nachtrag: Zum Nachlesen weiß ich da spontan nichts, eine vernünftige Programm-
struktur hilft da aber oft und auch OOP. Aber eine wichtige Sache: Einrückungen
(Tabs) helfen bei vielen Zeilen deutlich. Wenn du dir die normale if Syntax anschaust
(siehe hgseib) dann ist das komplett verständlich was da abläuft und welcher Teil
ausgeführt wird bei welcher Bedingung.

Geändert von sebastian (19-09-2006 um 13:00 Uhr)
sebastian ist offline   Mit Zitat antworten
Alt 19-09-2006, 13:09   #7 (permalink)
Techniker
 
Benutzerbild von hgseib
 
Registriert seit: Sep 2003
Ort: 64807
Beiträge: 16.322
auch als ein-mann/frau-betrieb kann man verständliche scripte schreiben.
funktionen (bzw. class'en) mit verständlichen namen tragen viel dazu bei.
so wirds übersichtlicher, verständlicher und man kann's leicht in anderen projekten benützen.
vorschlag:
Code:
MovieClip.prototype.goPrevNextTo = function(nr) {
	if (this._currentframe<nr) {
		this.nextFrame();
		return false;
	}
	if (this._currentframe>nr) {
		this.prevFrame();
		return false;
	}
	return true;
};
//
//
if (this.goPrevNextTo($frame)) {
	test();
	bla();
}
übersichtlicher wird's, da funktionen und classen nicht im hauptcode mit drinn stehen müssen.
class'en sind in flash sowieso extern und functionen kannst du z.b. in eine eigene ebene legen.
__________________
die ultimative antwort auf alle programmierfragen: der debugger
mfg h.g.seib www.SeibsProgrammLaden.de

Geändert von hgseib (19-09-2006 um 13:31 Uhr)
hgseib ist offline   Mit Zitat antworten
Alt 19-09-2006, 13:13   #8 (permalink)
Nagelneuer User
 
Benutzerbild von hazy fantazy
 
Registriert seit: Dec 2005
Beiträge: 924
Dazu kommt noch, dass die "verkürzte Scheibweise" (die ja in Wirklichkeit gar nicht viel kürzer ist, 5 Buchstaben, wenn man es genau nimmt) bis zu 20 Prozent langsamer als ein normales if ist.

PHP-Code:
var 0;
var 
count 1000000;
var 
func = function(){};

var 
getTimer();
for( var 
i=0counti++ )
{
    if( 
true x++; else x--;
}
var 
t1 getTimer() - t;

getTimer();
for( var 
i=0counti++ )
{
    
true x++ : x--;
}
var 
t2 getTimer() - t;

trace([ t1t2Math.floort2 t1 100) ]); 
Ausgabe: 6173,7466,120
Das liegt daran, dass ?: einen etwas längeren Bytecode hat, weil es einen Wert liefern muss.

mfg. h
__________________
The fact that you've got "Replica" written on the side of your gun and the fact that I've got "Desert Eagle written on the side of mine ... :D

Geändert von hazy fantazy (19-09-2006 um 13:21 Uhr)
hazy fantazy ist offline   Mit Zitat antworten
Alt 19-09-2006, 13:32   #9 (permalink)
Flashfreak
 
Benutzerbild von ELfivEL
 
Registriert seit: Nov 2005
Beiträge: 42
Zitat:
Zitat von hgseib Beitrag anzeigen
auch als einmannbetrieb kann man verständliche scripte schreiben.
funktionen (bzw. class'en) mit verständlichen namen tragen dazu viel bei.
so wirds übersichtlicher, verständlicher und man kann's leicht in anderen projekten wieder benützen. vorschlag:
Code:
MovieClip.prototype.goPrevNextTo = function(nr) {
	if (this._currentframe<nr) {
		this.nextFrame();
		return false;
	}
	if (this._currentframe>nr) {
		this.prevFrame();
		return false;
	}
	return true;
};
//
//
if (this.goPrevNextTo($frame)) {
	test();
	bla();
}
Naja du Schlumpf.. eigentlich hab ich mich auf deinen vorherigen Eintrag Prototype + setInterval bezogen. Hier war die Schreibweise i.O.?

Also ich verstehe natürlich, dass man Code möglichst verständlich und simpel halten sollte, besonders wenn man nach einiger Zeit mal wieder reinschaut um eine kleine Korrektur vorzunehmen, ohne sich dann 1 Stunde lang in das Skript einarbeiten zu wollen.

Mir sind ja schon ein paar Formatierungsstandards bekannt, wobei sich hier die Meinungen ja auch scheiden, beispielsweise bei der Syntax der {}.

Code:
function peter() {
trace("hello, my name is peter");
}
oder

Code:
function peter()
{
	trace("hello, my name is peter");
}
aber letzendlich muss man für sich ja selbst die "beste" Variante eroieren..


Back2Topic..
Ich werde dann mal back2basic, eine IF-Kaskade basteln..

Geändert von ELfivEL (19-09-2006 um 13:33 Uhr) Grund: Schreibfehler ;)
ELfivEL ist offline   Mit Zitat antworten
Alt 19-09-2006, 13:37   #10 (permalink)
Techniker
 
Benutzerbild von hgseib
 
Registriert seit: Sep 2003
Ort: 64807
Beiträge: 16.322
der schlumpf hatte auch geschlumpf: "..macht der gewohnheit ;-).."

du wolltest: gibts nicht etwas vergleichbares
jetzt hast d'es
__________________
die ultimative antwort auf alle programmierfragen: der debugger
mfg h.g.seib www.SeibsProgrammLaden.de

Geändert von hgseib (19-09-2006 um 13:39 Uhr)
hgseib ist offline   Mit Zitat antworten
Alt 19-09-2006, 13:38   #11 (permalink)
Flashworker
 
Benutzerbild von sebastian
 
Registriert seit: Nov 2001
Ort: Wiesbaden
Beiträge: 10.945
Zitat:
Zitat von ELfivEL Beitrag anzeigen
die Meinungen ja auch scheiden, beispielsweise bei der Syntax der {}.
Das ist eine Sache, die wirklich Geschmackssache ist. Ich schiebe ja auch die
öffnende Klammer in eine extra Zeile, die meisten machen es nicht. Ich fand
das früher übrigens auch total furchtbar, habs mir nur irgendwann mal angewöhnt
und habs mittlerweile auch als Standardformatierung so in Flash eingestellt.

Bei Leerzeichen finde ich es schlimmer, wenn es da jeder macht, wie er will
Angehängte Grafiken
Dateityp: gif config.gif (12,8 KB, 11x aufgerufen)

Geändert von sebastian (19-09-2006 um 13:42 Uhr)
sebastian ist offline   Mit Zitat antworten
Alt 19-09-2006, 14:34   #12 (permalink)
Flashfreak
 
Benutzerbild von ELfivEL
 
Registriert seit: Nov 2005
Beiträge: 42
Hehe.. Nagut junx.. danke für die Tipps.. *sich vor eurer Erfahrung (Anz. der Beiträge) verneigt*.. auf weitere schlumpfige Zusammenarbeit..
ELfivEL 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 15:44 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele