Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 12-07-2004, 18:49   #1 (permalink)
Neuer User
 
Registriert seit: Jul 2004
Beiträge: 6
Variabel nur in funktion gültig, wie global machen???

habe folgenden code:

Code:
var anzahl;
flashtitel = new Array();
flashtexte = new Array();
flashuser = new Array();
flashuser = ["spaghetti","tubetti","farfalle","ziti","penne"];

function getvars() 
{ 
    m = new LoadVars(); 
	m.a1 = "Hallo"; 
	m.a2 = "123";

    m.onLoad = function(ok) 
    { 
		if(ok)
		{
			anzahl=this.vars;
			trace(anzahl);
			flashtitel = this.titel.split(",");
			trace(flashtitel[0]);	// Hier gibt trace array wert 0 korrekt aus !!
		}
		else 
		{
			trace("Variabel wurde nicht korrekt übergeben");
		}

    }; 

 	m.sendAndLoad("http://www.egge.ch/getnews.php",m,"POST");
	trace("nach Variabeln laden");
}

getvars(); 
trace(flashtitel[0]);	// Hier gibt trace undefined aus !!
stop();
Wie ihr seht möchte ich das array flashtitel auserhalb der funktionen benutzen nur wie mache ich diesen global???
kabch ist offline   Mit Zitat antworten
Alt 12-07-2004, 19:07   #2 (permalink)
brand new user
 
Benutzerbild von RustyCake
 
Registriert seit: May 2002
Ort: Laimbach 6 1/2
Beiträge: 16.884
_global brauchts net!! Wenn doch nochmal klingeln
ActionScript:
  1. var anzahl;
  2. var timeline = this;//<--hier
  3. flashtitel = new Array();
  4. flashtexte = new Array();
  5. flashuser = new Array();
  6. flashuser = ["spaghetti", "tubetti", "farfalle", "ziti", "penne"];
  7. function getvars() {
  8.     m = new LoadVars();
  9.     m.a1 = "Hallo";
  10.     m.a2 = "123";
  11.     m.onLoad = function(ok) {
  12.         if (ok) {
  13.             anzahl = this.vars;
  14.             timeline.flashtitel = this.titel.split(",");//<--hier
  15.         } else {
  16.             trace("Variabel wurde nicht korrekt übergeben");
  17.         }
  18.     };
  19.     m.sendAndLoad("http://www.egge.ch/getnews.php", m, "POST");
  20. }
  21. getvars();
__________________
Bitte keine Fragen, zu Flash per PM. Dazu ist das Forum da. Danke MFG_RustyCake!
"Wer tanzen will, muß erst gehen lernen"
RustyCake ist offline   Mit Zitat antworten
Alt 12-07-2004, 19:17   #3 (permalink)
.
 
Registriert seit: May 2003
Ort: bayern
Beiträge: 1.117
wie mir scheint ist eigentlich alles korrekt, nur beim trace außerhalb sind die variablen noch nicht geladen, guckst du:
ActionScript:
  1. var anzahl;
  2. //flashtitel = new Array();
  3. flashtexte = new Array();
  4. flashuser = new Array();
  5. flashuser = ["spaghetti","tubetti","farfalle","ziti","penne"];
  6.  
  7. function getvars()
  8. {
  9.     m = new LoadVars();
  10.     m.a1 = "Hallo";
  11.     //m.a2 = "123";
  12.  
  13.     m.onLoad = function(ok)
  14.     {
  15.         if(ok)
  16.         {
  17.             anzahl=this.vars;
  18.             trace(anzahl);
  19.             flashtitel = this.titel.split(",");
  20.             trace(flashtitel[0]);   // Hier gibt trace array wert 0 korrekt aus !!
  21.         }
  22.         else
  23.         {
  24.             trace("Variabel wurde nicht korrekt übergeben");
  25.         }
  26.  
  27.     };
  28.  
  29.     m.sendAndLoad("http://www.egge.ch/getnews.php",m,"POST");
  30.     trace("nach Variabeln laden");
  31. }
  32.  
  33. getvars();
  34. gimmeVar = setInterval(gVar,1000);
  35. function gVar(){
  36. trace(flashtitel[0]);   // Hier gibt trace undefined aus !!
  37. }
  38. stop();
mooseMash ist offline   Mit Zitat antworten
Alt 12-07-2004, 19:34   #4 (permalink)
Neuer User
 
Registriert seit: Jul 2004
Beiträge: 6
das mit intervall scheint zu funktionieren...

... aber kann ich sie irgendwie global machen damit ich sie auserhalb des scripts im ganzen movie in jedem frame brauchen kann? wenn mit _global wo müsste ich _global. anbringen??

Ich möchte den Inhalt in textobjekte einfügen die auf einen array zurückgreifen.

mfg kab
kabch ist offline   Mit Zitat antworten
Alt 12-07-2004, 19:36   #5 (permalink)
brand new user
 
Benutzerbild von RustyCake
 
Registriert seit: May 2002
Ort: Laimbach 6 1/2
Beiträge: 16.884
Uuups!
Da hab ich wohl nicht alles gelesen
[Edith]
_global.deinArray=["test it"];
[/Edith]
__________________
Bitte keine Fragen, zu Flash per PM. Dazu ist das Forum da. Danke MFG_RustyCake!
"Wer tanzen will, muß erst gehen lernen"

Geändert von RustyCake (12-07-2004 um 19:39 Uhr)
RustyCake ist offline   Mit Zitat antworten
Alt 12-07-2004, 19:47   #6 (permalink)
Neuer User
 
Registriert seit: Jul 2004
Beiträge: 6
_global anweisung in funktion funktioniert nich

Wenn ich oben bei flashuser den prefix _global. gebe kann ich die variabel tatsächlich überall verwenden. Nur bei dem array in der funktion in der funktion scheint das nicht zu funktionieren. Ich kann nur sagen hilfe! Bin jetzt schon seit 17:00 an diesem Problem.

mfg kab
kabch ist offline   Mit Zitat antworten
Alt 12-07-2004, 19:56   #7 (permalink)
brand new user
 
Benutzerbild von RustyCake
 
Registriert seit: May 2002
Ort: Laimbach 6 1/2
Beiträge: 16.884
ne _global.Variable kannst ohne voranstellen von _global abfragen, zuweisen mußt allerdings mit "_global.flashtitel = this.titel.split(",");"
__________________
Bitte keine Fragen, zu Flash per PM. Dazu ist das Forum da. Danke MFG_RustyCake!
"Wer tanzen will, muß erst gehen lernen"
RustyCake ist offline   Mit Zitat antworten
Alt 12-07-2004, 20:02   #8 (permalink)
Neuer User
 
Registriert seit: Jul 2004
Beiträge: 6
das habe ich scon gemacht > funktioniert nicht

Auch wenn ich genau dies mache wird die variabel nicht global.
Ich habe schon mit vielen Programmiersprachen gearbeitet aber actionscript ist die Sprache mit der ich am meisten Ärger habe.

mfg kab
kabch ist offline   Mit Zitat antworten
Alt 12-07-2004, 20:29   #9 (permalink)
brand new user
 
Benutzerbild von RustyCake
 
Registriert seit: May 2002
Ort: Laimbach 6 1/2
Beiträge: 16.884
Sicher geht des !!
ActionScript:
  1. //in der txt steht &names=harry,karlie
  2. _global.myArray = [];
  3. var kill = new LoadVars();
  4. kill.load("test.txt");
  5. kill.onLoad = function(aloha) {
  6.     if (aloha) {
  7.         _global.myArray = this.names.split(",");
  8.     }
  9. };
  10. //auf einem button der zweimalverschachtel ist steht!!
  11. this.btn.onPress = function() {
  12.     trace("myArray[0]= "+myArray[0])//<--myArray[0]= harry;
  13.     trace("myArray[1]= "+myArray[1]);//<--myArray[1]= karlie
  14. };
Angehängte Dateien
Dateityp: zip _globalArray.zip (4,4 KB, 9x aufgerufen)
__________________
Bitte keine Fragen, zu Flash per PM. Dazu ist das Forum da. Danke MFG_RustyCake!
"Wer tanzen will, muß erst gehen lernen"

Geändert von RustyCake (12-07-2004 um 20:30 Uhr)
RustyCake ist offline   Mit Zitat antworten
Alt 12-07-2004, 21:13   #10 (permalink)
Neuer User
 
Registriert seit: Jul 2004
Beiträge: 6
hallo ich weis jetzt wo das problem wahrscheinlich ligt.

Also wenn ich auserhalb der funktion ein trace mache gibt es als output ein undef. Wenn ich aber wie nach deinem beispiel das trace mit einem Button verknüpfe gibt es den korekten wert zurück. Flash brauch wahrscheinlich eine gewisse zeit bis die variabeln die werte zugewiesen werden, darum hat die schlaufe mit setIntervall auch den korrekten wert zurückgegeben. Ja was sols werde noch ein paar sachen probieren. Ich möchte mich noch für die antworten bedanken.

mfg kab
kabch ist offline   Mit Zitat antworten
Alt 12-07-2004, 21:25   #11 (permalink)
Neuer User
 
Registriert seit: Jun 2001
Ort: Stuttgart
Beiträge: 6.415
Zitat:
trace(flashtitel[0]); // Hier gibt trace undefined aus !!
mal nochmal oben angeschaut,
es ist doch klar dass bei den 3 beispielen nur mit button nen ergebnis zustande kommt.
flash braucht-wie du schon vermutest-natürlich zeit die datei zu laden, selbst von der festplatte.
liegt das file auf dem server sieht die sache natürlich noch "krasser" aus da nen versatz von mehreren sekunden auftreten kann(server kontaktieren, daten senden)
schon in deinem ersten beispiel sollte das funktionieren, da flash dir die datei im root ablegt-da du ja keine explizite zeitleiste angibst


gruß
deluxe
Deluxe ist offline   Mit Zitat antworten
Alt 12-07-2004, 21:40   #12 (permalink)
Neuer User
 
Registriert seit: Jul 2004
Beiträge: 6
und wie würdest du es machen

Das problem ist das ich anhand der arraydaten direkt textboxen erzeugen will um die news darzustellen. Ich habe mir gedacht frame1 die daten einlesen und mit frame zwei die newsseite komplett darstellen nun funktioniert dies leider nicht da alles zu schnell geht. In einem beispiel habe ich jetzt einfach auf frame zwei den wert 0 des arrays in eine variabel geschrieben und eine dynamische textbox gemacht mit dem inhalt der variabel. Auf frame 3 habe ich die selbe Textbox mit der Anweisung gotoAndPlay(2); Damit zeigt es die meldung auch konstant an. Nur ob das die feine englische art ist??

mfg kab
kabch ist offline   Mit Zitat antworten
Alt 13-07-2004, 00:14   #13 (permalink)
brand new user
 
Benutzerbild von RustyCake
 
Registriert seit: May 2002
Ort: Laimbach 6 1/2
Beiträge: 16.884
Mit ner function aufgerufen aus dem LoadVars wenn alles geladen ist läßt sich auch im ersten Frame die Textbox erstellen!!
__________________
Bitte keine Fragen, zu Flash per PM. Dazu ist das Forum da. Danke MFG_RustyCake!
"Wer tanzen will, muß erst gehen lernen"
RustyCake ist offline   Mit Zitat antworten
Alt 13-07-2004, 06:51   #14 (permalink)
Neuer User
 
Registriert seit: Jun 2001
Ort: Stuttgart
Beiträge: 6.415
yapp dazu benutzt du einfach o.g. timeline trick
im loadvars ne variable mit referenz auf die zeitleiste des films erstellen. von da aus kannste zu den textboxen navigieren

is doch nich schwer die logik?

deluxe
Deluxe 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 08:19 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele