Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 06-05-2004, 15:39   #1 (permalink)
Gedankengestalter
 
Benutzerbild von TheFreeman
 
Registriert seit: May 2002
Ort: Bayern
Beiträge: 486
dynamisch erzeugte Textfelder und deren Variablen

Hallo, Leute.

folgender Auszug:
ActionScript:
  1. setTextFormat = function(what){
  2.     var form = new TextFormat();
  3.     switch(what){
  4.         case "text":    form.color = "0x0F298F";    break;
  5.         case "preis":   form.color = "0x0F298F";   break;
  6.         case "head":    form.color = "0x000000";    break;
  7.         case "change":  form.color = "0x000000"break;
  8.         case "formout": form.color = "0x0F298F"break;
  9.         case "formin":  form.color = "0x0F298F"break;
  10.     }
  11.     form.font = "Geometr706 BlkCn BT";
  12.     switch(what){
  13.         case "text":    form.size = 16;  break;
  14.         case "preis":   form.size = 16;        break;
  15.         case "head":    form.size = 20;  break;
  16.         case "change":  form.size = 16;      break;
  17.         case "formout": form.size = 16;    break;
  18.         case "formin":  form.size = 16;      break;
  19.     }
  20.     form.leading = 0;
  21.     switch(what){
  22.         case "text":    form.align = "left";    break;
  23.         case "preis":   form.align = "right"break;
  24.         case "head":    form.align = "left";    break;
  25.         case "change":  form.align = "right"break;
  26.         case "formout": form.align = "right";    break;
  27.         case "formin":  form.align = "left"break;
  28.     }
  29.     return form;
  30. };
  31.  
  32. setFieldFormat = function(field,art){
  33.     field.multiline = true;
  34.     field.wordWrap = true;
  35.     switch(art){
  36.         case "output":  field.selectable = false;  break;
  37.         case "input":   field.selectable = true;      break;
  38.     }
  39.     field.embedFonts = true;
  40.     field._visible = true;
  41.     switch(art){
  42.         case "output":  field.autoSize = true;        break;
  43.         case "input":   field.autoSize = false;        break;
  44.     }
  45.     switch(art){
  46.         case "output":
  47.                         field.border = false;
  48.                         field.borderColor = "0x8f8f8f";  break;
  49.         case "input":
  50.                         field.border = true;
  51.                         field.borderColor = "0x8f8f8f";  break;
  52.     }
  53.     switch(art){
  54.         case "output":  field.type = "dynamic"; break;
  55.         case "input":   field.type = "input"break;
  56.     }
  57.     return true;
  58. };
  59.  
  60. setFOutput = function(){
  61.     var formatf = setTextFormat("formout");
  62.     var formati = setTextFormat("formin");
  63.     var ypos = globypos + tdspace; var jhoehe = 0;
  64.     var pxpos = tbreite + trspace;
  65.     var fxpos = txpos + pbreite + trspace;
  66.     // ---------------- Namensfelder --------------------
  67.     outputmc.createTextField("fname",tiefe,txpos,ypos,pbreite,hoehe);
  68.     tiefe++;
  69.     jhoehe = outputmc.fname._height;
  70.     outputmc.fname.setNewTextFormat(formatf);
  71.     setFieldFormat(outputmc.fname,"output");
  72.     outputmc.fname.variable = "vm2i3";
  73.     // ----------------- Eingabefeld ---------------------
  74.     outputmc.createTextField("finame",tiefe,fxpos,ypos,fbreite,ihoehe);
  75.     tiefe++;
  76.     jhoehe = outputmc.finame._height;
  77.     outputmc.finame.setNewTextFormat(formati);
  78.     setFieldFormat(outputmc.finame,"input");
  79.     outputmc.finame.variable = "name";
  80.     outputmc.finame.tabIndex = 1;
  81. };

Beim ertsen Textfeld gebe ich die Variable "vm2i3" an.
Der Inhalt dazu wird mit PHP aus einer Datenbank geholt
und an Flash übergeben.
Setze ich einfache Textfelder ins File und verge die nötigen
Variablen, dann wird der Inhalt angezeigt.
Wenn ich aber die Textfelder dynamisch erzeuge und denen
Variablen zuordne, wird gar nichts angezeigt.

Warum nicht?

Offline kann ich den Cursor ins Eingabefeld setzen.
Wenn das File Online ist, dann nicht mehr.

Ich dreh noch voll ab.
__________________
AS3 Lernhilfen
TheFreeman ist offline   Mit Zitat antworten
Alt 06-05-2004, 16:40   #2 (permalink)
Gedankengestalter
 
Benutzerbild von TheFreeman
 
Registriert seit: May 2002
Ort: Bayern
Beiträge: 486
Alle im Urlaub?
__________________
AS3 Lernhilfen
TheFreeman ist offline   Mit Zitat antworten
Alt 06-05-2004, 20:38   #3 (permalink)
Farbe ist Luxus
 
Benutzerbild von ludabruda
 
Registriert seit: May 2003
Ort: Köln
Beiträge: 2.405
ne, aber besoffen von deinem Code
(scnr)

ich habe ehrlich gesagt keine Ahnung, was du genau vor hast.
Aber oben definierst du setTextFormat neu. Das ist - wie man hier auch schön sehen kann - eine Methode von TextField-Objekten. Verwende also lieber keinen bereits verwendetetn Begriff.
Das mag mit dem Problem vielleicht nix zu tun haben, ist aber trotzdem besser so

Hmm, also prinzipiell funktioniert die Sache mit den variables...kommen deine Vars aus PHP vielleicht auf einem anderen Level, einem MC oder in einem LoadVars-Objekt an?

Sonst schieb mal ne fla hoch...

Grüße
Sascha
__________________
12:15, press return
ludabruda ist offline   Mit Zitat antworten
Alt 07-05-2004, 09:19   #4 (permalink)
eeeek!
 
Benutzerbild von juggernart
 
Registriert seit: Aug 2002
Ort: Augsburg
Beiträge: 210
Auf den ersten Blick würde ich sagen, dass es an
dem Einbetten des Fonts liegt.

Eine Lösung ist, ein von Hand generiertes Textfeld mit dem einzubettenden Font mit in die SWF zu legen, damit der Font in die SWF exportiert wird.
Hier gibts auch noch irgendwo einen Thread zum dynamischen Einbetten von Fonts.

Naja, vielleicht erzähl ich auch Quatsch
juggernart ist offline   Mit Zitat antworten
Alt 07-05-2004, 12:01   #5 (permalink)
Gedankengestalter
 
Benutzerbild von TheFreeman
 
Registriert seit: May 2002
Ort: Bayern
Beiträge: 486
Zitat:
Geschrieben von ludabruda
ne, aber besoffen von deinem Code
(scnr)


Das sagen manche, nur vom Alkohol wird man besoffen...

Zitat:
ich habe ehrlich gesagt keine Ahnung, was du genau vor hast.
Aber oben definierst du setTextFormat neu. Das ist - wie man hier auch schön sehen kann - eine Methode von TextField-Objekten. Verwende also lieber keinen bereits verwendetetn Begriff.
Das mag mit dem Problem vielleicht nix zu tun haben, ist aber trotzdem besser so
Hä? Kannst Du mir das ein wenig erläutern, warum das so besser ist? Wie arbeitet der Player damit?

Zitat:
Hmm, also prinzipiell funktioniert die Sache mit den variables...kommen deine Vars aus PHP vielleicht auf einem anderen Level, einem MC oder in einem LoadVars-Objekt an?
Nein, die werden direkt mit loadVariables in den outputmc geladen.

HEUL.
__________________
AS3 Lernhilfen
TheFreeman ist offline   Mit Zitat antworten
Alt 07-05-2004, 12:04   #6 (permalink)
Gedankengestalter
 
Benutzerbild von TheFreeman
 
Registriert seit: May 2002
Ort: Bayern
Beiträge: 486
Zitat:
Geschrieben von juggernart
Auf den ersten Blick würde ich sagen, dass es an
dem Einbetten des Fonts liegt.

Eine Lösung ist, ein von Hand generiertes Textfeld mit dem einzubettenden Font mit in die SWF zu legen, damit der Font in die SWF exportiert wird.
Hier gibts auch noch irgendwo einen Thread zum dynamischen Einbetten von Fonts.

Naja, vielleicht erzähl ich auch Quatsch
Nee. Sowas hab ich mir schon gedacht und habe auf _root genügend Textfelder liegen, die diese Schriften eingebunden haben.
__________________
AS3 Lernhilfen
TheFreeman ist offline   Mit Zitat antworten
Alt 07-05-2004, 13:10   #7 (permalink)
eeeek!
 
Benutzerbild von juggernart
 
Registriert seit: Aug 2002
Ort: Augsburg
Beiträge: 210
Also bei mir funktioniert dein Script (wenn ich für die Variablen "trspace" usw. Werte eingebe und dann setFOutput(); ausführe.

Hast Du mal die Variablen im outputmc getraced?
juggernart ist offline   Mit Zitat antworten
Alt 07-05-2004, 13:14   #8 (permalink)
Farbe ist Luxus
 
Benutzerbild von ludabruda
 
Registriert seit: May 2003
Ort: Köln
Beiträge: 2.405
Hi,

Zitat:
Hä? Kannst Du mir das ein wenig erläutern, warum das so besser ist? Wie arbeitet der Player damit?
Ich kann dir nicht genau sagen, wie der Player darauf reagiert. Aber das Überschreiben intrinsischer Funktionen und Methoden kann ggf. zu unangenehmen Überraschungen führen. Sicherlich lassen sich solche Methoden auch überschreiben. Wenn man also genau weiß, was man damit erreichen will, kann man diesen Weg gehen. So du das also weißt, go on, wenn du nur zufällig einen bereits verwendeten Methodenbezeichner gewählt hast und die ursprüngliche Funktion nicht überschreiben willst, wähle lieber einen eigenen Namen.

Zugegeben, du definierst eine Funktion, keine Methode. Es sollte also nicht zu Überlappungen kommen. Wahrscheinlich ist das auch nicht verantwortlich für den Fehler. Ist nur so ein Hinweis.

...

Probier mal andere Positionen von field.embedFonts = true; aus. Ich habe die Erfahrung gemacht, dass es sicherer ist, wenn man nach Änderungen des Textfeldes diese Eigenschaft neu setzt.

Evtl. benötigst du einen listener, der embedFonts nach jeder Änderungen der Variable neu setzt.

Merkwürdig erscheint mir der Unterschied zwischen online und offline bezüglich der Wählbarkeit des Eingabefeldes...an den Fonts liegt das sicher nicht. Bist du 100pro sicher, dass deine Variablen aus der PHP in genau der gleichen Weise geladen werden und ankommen, wie es offline der Fall ist?

Grüße
Sascha
__________________
12:15, press return
ludabruda ist offline   Mit Zitat antworten
Alt 10-05-2004, 08:16   #9 (permalink)
Gedankengestalter
 
Benutzerbild von TheFreeman
 
Registriert seit: May 2002
Ort: Bayern
Beiträge: 486
Zitat:
Geschrieben von juggernart
Also bei mir funktioniert dein Script (wenn ich für die Variablen "trspace" usw. Werte eingebe und dann setFOutput(); ausführe.

Hast Du mal die Variablen im outputmc getraced?
Ja, hab ich. Aber es funnktioniert ja auch nur offline.
__________________
AS3 Lernhilfen
TheFreeman ist offline   Mit Zitat antworten
Alt 10-05-2004, 08:21   #10 (permalink)
Gedankengestalter
 
Benutzerbild von TheFreeman
 
Registriert seit: May 2002
Ort: Bayern
Beiträge: 486
Zitat:
Geschrieben von ludabruda


Merkwürdig erscheint mir der Unterschied zwischen online und offline bezüglich der Wählbarkeit des Eingabefeldes...an den Fonts liegt das sicher nicht. Bist du 100pro sicher, dass deine Variablen aus der PHP in genau der gleichen Weise geladen werden und ankommen, wie es offline der Fall ist?

Grüße
Sascha
Ja, der Server hat exakt die gleichen Versionen und Einstellungen. Ich komm schon noch dahinter
__________________
AS3 Lernhilfen
TheFreeman ist offline   Mit Zitat antworten
Alt 12-05-2004, 13:37   #11 (permalink)
Gedankengestalter
 
Benutzerbild von TheFreeman
 
Registriert seit: May 2002
Ort: Bayern
Beiträge: 486
Also, die Sache mit der Methode habe ich nun auch berücksichtigt. Aber das Ergebnis ist immer noch das gleiche: nichts passiert.
__________________
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 08:08 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele