Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 25-04-2004, 22:02   #1 (permalink)
Neuer User
 
Registriert seit: Aug 2001
Beiträge: 147
Funktion Variablen übergeben..

Hi,

in einem MC befindet sich ein Button mit Instanznamen "invi_but", dem ich fürs OnRelease Event folgendermaßen zwei Funktionswerte übergeben möchte:

ActionScript:
  1. startnr=(i-1)*b;
  2.                 anzahl=b;
  3.                 k.invi_but.onRelease = function(startnr,anzahl) {
  4.                     //news_laden(startnr,anzahl);
  5.                     trace("bla");
  6.                     trace(startnr+" "+anzahl);
  7.                 };

Das "bla" gibt er aus, wenn ich anschließend im Film auf den Button klicke, nicht aber die Variablen startnr und anzahl, obwohl die vor dem k.invi_but.onRelease.... noch problemos getraced werden können.
Überseh ich da vielleicht ne "Kleinigkeit" ??

MfG
PeFro
PeFro ist offline   Mit Zitat antworten
Alt 25-04-2004, 22:18   #2 (permalink)
Neuer User
 
Benutzerbild von michaelklaehn
 
Registriert seit: Feb 2003
Beiträge: 262
ActionScript:
  1. startnr=100;
  2. anzahl=10;
  3. k.invi_but.onRelease =function (startnr,anzahl) {
  4.     //news_laden(startnr,anzahl);
  5.     trace (" bla ");
  6.     trace (_root.startnr+" "+_root.anzahl);
  7. };

Gruß,
Micha
michaelklaehn ist offline   Mit Zitat antworten
Alt 25-04-2004, 22:29   #3 (permalink)
Neuer User
 
Registriert seit: Aug 2001
Beiträge: 147
thx, aber das ist nich wirklich das, was ich suche...
denn bei deiner Veränderung gibt er startnr und anzahl eben von _root aus und nicht die werte, die der Funktion übergeben werden (sollen).

Problem dabei ist, dass ich 2 verschiedene Buttons habe, die über eine schleifenvar (i) eben unterschiedilche Funktionswerte bekommen sollen

in der Variante bekomm ich sonst zwei Buttons mit den gleichen Funktionswerten (nämlich den letzten aus der Schleife)

MfG
PeFro
PeFro ist offline   Mit Zitat antworten
Alt 25-04-2004, 22:43   #4 (permalink)
Neuer User
 
Benutzerbild von michaelklaehn
 
Registriert seit: Feb 2003
Beiträge: 262
Was ist denn das für eine Funktion und wie heißt die und wo liegt die und was macht die?
michaelklaehn ist offline   Mit Zitat antworten
Alt 25-04-2004, 22:47   #5 (permalink)
Neuer User
 
Registriert seit: Aug 2001
Beiträge: 147
Funktion news_laden liegt im _root des Films
darin werden mehrere mc´s mit namen "navi1", "navi2"... (abgekürzt mit k) erzeugt, die wiederum einen Button enthalten mit Instanznamen invi_but
volle Pfad für diesen Button ist also _root.k.invi_but
Die Funktion news_laden lädt gemäß der übergebenen Funktionswerte über ein PHP Script News aus einer DB
also z.B. news_laden(0,5) lädt 5 News ab Nr. 0.
PeFro ist offline   Mit Zitat antworten
Alt 25-04-2004, 22:52   #6 (permalink)
mod_rewrite
 
Benutzerbild von sonar
 
Registriert seit: Feb 2003
Ort: München
Beiträge: 15.621
Woher soll die "Funktion" denn die Werte der Argumente auch kriegen? Du hast hier eine unbenannte callback-Methode für einen Button definiert... um einer Funktion Argumente mitzugeben, musst du sie benennen und separat aufrufen. Bsp.
ActionScript:
  1. function alarm(msg) {
  2. trace(msg)
  3. }
  4. //Aufruf:
  5. alarm("Hilfe!");
Lass also mal die Argumente in Klammern weg und das Ding gibt die Variablen startnr und anzahl aus...
__________________
RTFM
Wie man Fragen richtig stellt.

Achim Bindannmalweg

Money makes the world go round, fear makes it turn much faster.
(New Model Army)
sonar ist offline   Mit Zitat antworten
Alt 25-04-2004, 22:57   #7 (permalink)
Neuer User
 
Registriert seit: Aug 2001
Beiträge: 147
welche Argumente meinste jetzt?
etwa so: k.invi_but.onRelease = function() ?
woher soll er dann nachher im laufenden Film wissen, mit welchen Werten er die Funktion aufrufen soll?

Problem ist... in der Schleife, in der die Funktion des onRelease Events definiert wird, ändern sich die Funktionswerte gemäß der Schleifenvariablen...d.h. ich müsste z.B. nachher einmal einen Button mit dem Aufruf news_laden(0,5) und einen mit news_laden(5,5) haben..lass ich die Argumente in den Klammern weg kommt beides mal news_laden(5,5) (logischerweise), weil zum zeitpunkt des OnRelease die vars nunmal auf dem letzten Wert, sprich 5 stehen.
PeFro ist offline   Mit Zitat antworten
Alt 25-04-2004, 23:08   #8 (permalink)
mod_rewrite
 
Benutzerbild von sonar
 
Registriert seit: Feb 2003
Ort: München
Beiträge: 15.621
Aha.
Davon ausgehend, dass deine Buttons sinnvollerweise MCs sind, kannst ja innerhalb der Schleife jedem der Button-MCs seinen eigenen Wert ("Property") zuweisen... So in der Art:
ActionScript:
  1. for(var i = 1; i <= 5; i++) {
  2. var k = this["navi" + i].invi_but;
  3. k.wert = i;
  4. k.onRelease = function() {
  5. trace(this.wert);
  6. };
  7. }
Könnte das so klappen...?
__________________
RTFM
Wie man Fragen richtig stellt.

Achim Bindannmalweg

Money makes the world go round, fear makes it turn much faster.
(New Model Army)
sonar ist offline   Mit Zitat antworten
Alt 25-04-2004, 23:14   #9 (permalink)
querdenker
 
Benutzerbild von kelor
 
Registriert seit: Jun 2001
Ort: formel1-stadt hockenheim
Beiträge: 4.731
genau so macht man das, wie sonar das gezeigt hat...

alle onEvents werden erst zur laufzeit ausgewertet und können deshalb auf keine werte zugreifen, die vor ihrer eigentlichen benutzung existieren.
das geht nur, indem man , wie sonar das zeigte, den wert speichert als eigenschaft des objektes[mc's]



greetz

kelor
kelor ist offline   Mit Zitat antworten
Alt 25-04-2004, 23:16   #10 (permalink)
Neuer User
 
Registriert seit: Aug 2001
Beiträge: 147
Jau dufte, habs jetzt mit
ActionScript:
  1. k.invi_but.startnr=(i-1)*b;
  2.                 k.invi_but.anzahl=b;
  3.                 k.invi_but.onRelease = function() {
  4.                     trace(this._parent._name);
  5.                     news_laden(this.startnr,this.anzahl);
  6.                 };

Vielen Dank!
Das einzige, was mich wundert ist, dass der Debugger startnr und anzahl nicht bei den Variablen von navi1 und navi2 aufführt, aber was solls.

MfG
PeFro


Edit:

Quatsch, das letzte nehm ich zurück, das müsste natürlich bei navi1.invi_but auftauchen, nur taucht der invi_but selbst schon nicht auf, ist wohl son dummer Nebeneffekt von attachMovie.

Geändert von PeFro (25-04-2004 um 23:19 Uhr)
PeFro 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:49 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele