Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 09-04-2005, 18:59   #1 (permalink)
Self-proclaimed Genius
 
Benutzerbild von genesys
 
Registriert seit: Jul 2002
Ort: schweiz
Beiträge: 282
funktion definieren mit fixen eingaben

hi!
hab n problem.
wenn ich z.b. die variabeln
_root.var1=5;
_root.var2=6;
habe und nun die funktion definiere:
_root.blabla=function(){
neanderefunktion(_root.var1,_root.var2);
}

Das Problem ist nun, dass wenn sich nun die variabeln aendern und ich die funktion blabla ausfuere:
_root.var1=20;
_root.var2=50;
_root.blabla();

dann wird durch das neanderefunktion(20,50); ausgefuehrt und nicht neanderefunktion(5,6);


wie muss ich die funktion blabla also definieren, dass bei ihrem aufruf neanderefunktion(); mit den werten ausgefuehrt wird, die die variabeln zur zeit der definition hatten??
__________________
Phantasie ist wichtiger als Wissen, denn Wissen ist begrenzt - Albert Einstein
genesys ist offline   Mit Zitat antworten
Alt 09-04-2005, 21:20   #2 (permalink)
voidboy
 
Benutzerbild von rendner[i]
 
Registriert seit: Sep 2004
Ort: München
Beiträge: 5.588
Zitat:
Zitat von genesys
wie muss ich die funktion blabla also definieren, dass bei ihrem aufruf neanderefunktion(); mit den werten ausgefuehrt wird, die die variabeln zur zeit der definition hatten??
Du kannst doch nicht erwarten das eine Funktion irgendwelche Werte nimmt die eine Variable mal hatte, das klappt in keiner Programmiersprache.
Warum willst Du denn den alten Wert nehmen, oder anderst, warum änderst Du den Wert der Variablen wenn Du den vorherigen Wert brauchst?
Kannst Du Dein anliegen noch etwas genauer formulieren, erkenne da gerade nicht so den Sinn in der Sache.
__________________
ERROR: Signature is too large
rendner[i] ist offline   Mit Zitat antworten
Alt 09-04-2005, 21:34   #3 (permalink)
Self-proclaimed Genius
 
Benutzerbild von genesys
 
Registriert seit: Jul 2002
Ort: schweiz
Beiträge: 282
weil sich die variabeln während des programm verlaufs verändern und immer wieder gebraucht werden, um neue funktionen definieren . . . die funktionen sollen einfach so definiert werden, dass, wenn sie denn einmal ausgeführt werden sollten, etwas ganz bestimmtes mit bestimmten werten ausführen (was halt zum zeitpunkt der definierung bekannt ist)

mal ein vereinfachtes beispiel:
es hat auf dem bildschirm zwei eingabe felder wo man zahlen für _root.wert1 und _root.wert2 eingeben kann. Wenn man einen bestimmten button drückt, soll eine funktion erstellt werden für irgend ein objekt, mit genau diesen _root.wert1 und _root.wert2. das soll man mehrere male machen können (jedesmal mit anderen eingaben). Dann soll man später diese funktionen, die man so definiert hat ausführen können. (jede funktion steuert z.b. die bewegung des objektes, in welcher sie definiert sind)
Wenn nun aber die funktion so definiert wurde
_root.object1.steuerfunktion=function(){
_root.object1.fahren(_root.wert1, _root.wert2);
}

und das fuer viele solche objekte definiert und dann startet, haben einfach sämtliche funktionsaufrufe in den objekten die werte, die sich am schluss in den eingabefeldern befinden anstatt die, die beim definieren der funktion aktiv waren.


Ich weiss dieses Beispiel ist etwas blöd, weil mans anders lösen könnte, aber das beschreibt eigentlich genau das, was ich haben will . . .
also dass die funktion nicht mit variabeln als eingaben definiert wird, sondern mit den bestimmten werten, die die variabeln zur zeit der definition besitzen . . .
__________________
Phantasie ist wichtiger als Wissen, denn Wissen ist begrenzt - Albert Einstein
genesys ist offline   Mit Zitat antworten
Alt 09-04-2005, 21:39   #4 (permalink)
voidboy
 
Benutzerbild von rendner[i]
 
Registriert seit: Sep 2004
Ort: München
Beiträge: 5.588
Dann must Du Dir Array's anlegen in die Du die Werte (die ausgewählten) speicherst und für welche Funktion.
Anderst geht das nicht.

PHP-Code:
// Array's erstellen
var arr_Wert1 = [];
var 
arr_wert2 = [];

// user wählt Werte aus..., diese ins Array eintragen
arr_wert1.push_root.wert1 );
arr_wert2.push_root.wert2 ); 
...somit kannst Du dann die Werte auslesen die die Funktionen brauchen...
__________________
ERROR: Signature is too large
rendner[i] ist offline   Mit Zitat antworten
Alt 10-04-2005, 10:57   #5 (permalink)
Self-proclaimed Genius
 
Benutzerbild von genesys
 
Registriert seit: Jul 2002
Ort: schweiz
Beiträge: 282
ok dann mach ich das so . . . dankeschön . . .
__________________
Phantasie ist wichtiger als Wissen, denn Wissen ist begrenzt - Albert Einstein
genesys 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 13:40 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele