Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 14-05-2004, 16:35   #1 (permalink)
Gedankengestalter
 
Benutzerbild von TheFreeman
 
Registriert seit: May 2002
Ort: Bayern
Beiträge: 486
Funktionen und Übergabe von Werten mit return

Hallo, Leute.

Was kann ich denn alles mit return übergeben?

Ich versuche gerade ein Textformat zu übergeben. Ist das möglich?
__________________
AS3 Lernhilfen
TheFreeman ist offline   Mit Zitat antworten
Alt 14-05-2004, 17:05   #2 (permalink)
_//\\#//\\_
 
Benutzerbild von warrantmaster
 
Registriert seit: Jan 2003
Beiträge: 7.060
übergib einfach den namen als string und "eval" das teil dann.
(muß jetzt nicht unbedingt richtig sein... )
warrantmaster ist offline   Mit Zitat antworten
Alt 14-05-2004, 17:10   #3 (permalink)
Gedankengestalter
 
Benutzerbild von TheFreeman
 
Registriert seit: May 2002
Ort: Bayern
Beiträge: 486
o.k.
Zum Verständnis folgendes Script:

ActionScript:
  1. MovieClip.prototype.setTXTFormat = function(what){
  2.     var form = new TextFormat();
  3.         // Farben festlegen
  4.     switch(what){
  5.         case "text":    form.color = "0x0F298F";    break;
  6.         case "preis":   form.color = "0x0F298F";   break;
  7.         case "head":    form.color = "0x000000";    break;
  8.         case "change":  form.color = "0x000000"break;
  9.         case "formout": form.color = "0x0F298F"break;
  10.         case "formin":  form.color = "0x0F298F"break;
  11.     }
  12.         // Textgröße festlegen
  13.     switch(what){
  14.         case "text":    form.size = 16;  break;
  15.         case "preis":   form.size = 16;        break;
  16.         case "head":    form.size = 20;  break;
  17.         case "change":  form.size = 16;      break;
  18.         case "formout": form.size = 16;    break;
  19.         case "formin":  form.size = 16;      break;
  20.     }
  21.         // Laufweite festlegen
  22.     form.leading = 0;
  23.         // Ausrichtung festlegen
  24.     switch(what){
  25.         case "text":    form.align = "left";    break;
  26.         case "preis":   form.align = "right"break;
  27.         case "head":    form.align = "left";    break;
  28.         case "change":  form.align = "right"break;
  29.         case "formout": form.align = "right";    break;
  30.         case "formin":  form.align = "left"break;
  31.     }
  32.         // Schriftart festlegen
  33.     switch(what){
  34.         case "text":    form.font = "Geometr706 BlkCn BT"break;
  35.         case "preis":   form.font = "Geometr706 BlkCn BT"break;
  36.         case "head":    form.font = "Geometr706 BlkCn BT"break;
  37.         case "change":  form.font = "DomBold BT";   break;
  38.         case "formout": form.font = "Geometr706 BlkCn BT";   break;
  39.         case "formin":  form.font = "DomBold BT";   break;
  40.     }
  41.         // Format übergeben
  42.     return form;
  43. };
Aufruf:
ActionScript:
  1. var formatt = setTXTFormat("text");
  2.     var formatp = setTXTFormat("preis");
  3.     var formath = setTXTFormat("head");
  4.     var formatc = setTXTFormat("change");

Das ganze wird noch öfter augerufen. Wie kann ich das denn dann dynamisch gestalten?
__________________
AS3 Lernhilfen
TheFreeman ist offline   Mit Zitat antworten
Alt 14-05-2004, 17:21   #4 (permalink)
Gib her, ich mach das!
 
Registriert seit: Jul 2003
Ort: Karlsruhe/Kassel
Beiträge: 270
Ist dir das nicht dynamisch genug?
Und es sollte auch var t=deinMC.setTXTFormat("bla") heißen.
Dr.Atom ist offline   Mit Zitat antworten
Alt 14-05-2004, 17:28   #5 (permalink)
Gedankengestalter
 
Benutzerbild von TheFreeman
 
Registriert seit: May 2002
Ort: Bayern
Beiträge: 486
Doch. So schon.
Nur funktioniert die Übergabe anscheinend so nicht.
Die Funktion übergibt das Textformat-Objekt nicht.

Darum meine anfängliche Frage, was ich mit return alles übergeben darf.
__________________
AS3 Lernhilfen
TheFreeman ist offline   Mit Zitat antworten
Alt 14-05-2004, 17:30   #6 (permalink)
Gib her, ich mach das!
 
Registriert seit: Jul 2003
Ort: Karlsruhe/Kassel
Beiträge: 270
vielleicht initialisiert du mal bevor du der Variable was zuweist, die selbige mit var formatt= new TextFormat(); und dann die Zuweisung?
Ich muss aber auch sagen, dass ich mich mit MX nicht so gut auskenne.
Dr.Atom ist offline   Mit Zitat antworten
Alt 16-05-2004, 11:57   #7 (permalink)
Neuer User
 
Registriert seit: Jun 2001
Ort: Stuttgart
Beiträge: 6.415
also punkt1 das objekt wird übergeben!
kannste doch per strg+alt+v selber nachkucken.

punkt2: du kannst dir nen assoziatives array basteln
das wird dann etwas übersichtlicher
ActionScript:
  1. formats=[]
  2. formats["text"]=["0x0F298F",16,"left","Geometr706 BlkCn BT"]
  3. formats["preis"]=["0x0F298F",16,"right","Geometr706 BlkCn BT"]
  4. //usw
  5. MovieClip.prototype.setTXTFormat = function(what,p){
  6.  
  7.         var formats=p
  8.         var form = new TextFormat();
  9.             form.color=formats[what][0]
  10.             form.size=formats[what][1]
  11.             form.align=formats[what][2]
  12.             form.font=formats[what][3]
  13.            
  14.         return form;
  15. }
  16.  
  17. //je nachdem wo du das array ablegst, würde es NICHT im
  18. //prototype ablegen unnötiger performanceverlust
  19. var formatt = setTXTFormat("text",_root.formats);


deluxe
Deluxe ist offline   Mit Zitat antworten
Alt 21-05-2004, 09:00   #8 (permalink)
Gedankengestalter
 
Benutzerbild von TheFreeman
 
Registriert seit: May 2002
Ort: Bayern
Beiträge: 486
Danke erstmal...
das versteh ich dann aber erst recht nicht.

Wenn das Objekt mit return übergeben wird, dann weiß ich wirklich nicht mehr weiter. Warum funktioniert denn das Script einmal (Lokal mit Absoluten URL zum OHO-Script) und einmal nicht (SWF wird auf dem Testserver ausgeführt) ?????

Ich werd das wohl nie zum laufen bringen.
__________________
AS3 Lernhilfen
TheFreeman ist offline   Mit Zitat antworten
Alt 21-05-2004, 11:45   #9 (permalink)
querdenker
 
Benutzerbild von kelor
 
Registriert seit: Jun 2001
Ort: formel1-stadt hockenheim
Beiträge: 4.731
also im anderen beispiel von oben [dem anderen thread] hatte ich dir ja das gepostet...
ActionScript:
  1. TextField.prototype.setTXTFormat = function(obj){
  2.         this.form = new TextFormat();
  3.         for(var i in obj){
  4.                 this.form[i] = obj[i];
  5.         }
  6.         this.setTextFormat(this.form);
  7. }
  8.  
  9. obj_text = { size:16, color:'0x0F298F', align:'left', font:'Geometr706 BlkCn BT'};
  10.  
  11. obj_preis = { size:16, color:'0x0F298F', align:'right', font:'Geometr706 BlkCn BT'};
  12.  
  13.  
  14. //ein textfeld namens 'myT' ruft nun die funktion...
  15.  
  16. myT.setTXTFormat(obj_text);

das könnte man natürlich noch verkomplizieren, mit:
ActionScript:
  1. MovieClip.prototype.setTXTFormat = function(obj){
  2.         var form = new TextFormat();
  3.         for(var i in obj){
  4.                 form[i] = obj[i];
  5.         }
  6.         return form;
  7. }
  8.  
  9. obj_text = { size:16, color:'0x0F298F', align:'left', font:'Geometr706 BlkCn BT'};
  10.  
  11. obj_preis = { size:16, color:'0x0F298F', align:'right', font:'Geometr706 BlkCn BT'};
  12.  
  13.  
  14. //ein movieclip ruft nun die funktion...
  15.  
  16. var tText = this.setTXTFormat(obj_text);

und schon hast du ein textformat-style in deiner variabeln tText returned...




verstanden?


greetz

kelor

Geändert von kelor (21-05-2004 um 11:46 Uhr)
kelor ist offline   Mit Zitat antworten
Alt 24-05-2004, 07:53   #10 (permalink)
Gedankengestalter
 
Benutzerbild von TheFreeman
 
Registriert seit: May 2002
Ort: Bayern
Beiträge: 486
Dankeschön.

Also wird das Objekt doch zu 100% übergeben. Aber was ist es dann?
__________________
AS3 Lernhilfen
TheFreeman ist offline   Mit Zitat antworten
Alt 24-05-2004, 15:17   #11 (permalink)
Gedankengestalter
 
Benutzerbild von TheFreeman
 
Registriert seit: May 2002
Ort: Bayern
Beiträge: 486
Hier geht´s weiter:

LoadVars() ;-)
__________________
AS3 Lernhilfen
TheFreeman 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:54 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele