Textfeld verschwindet nach Wertzuweisung.

SaschaT

Mitglied
Flash 8, Actionscript 2

Mein Problem ist folgendes. Ich hab ein Textfeld, dass nach der Wertzuweisung unsichtbar wird. Und ich weiß nicht wieso. Ich mach da jetzt seit Stunden dran rum und bin kurz vor dem Wahnsinn.

Was mache ich falsch?

Hier die Details:

Das Textfeld ist in einem Movieclip, dessen einziges Objekt das Textfeld ist. Der Movieclip ist ein Symbol und ich hab ihn einfach über Drag-&-Drop aus der Bibliothek in einen anderen Movieclip eingefügt. In dem Symbol hab ich in das Textfeld schon was reingeschrieben ("11"). (Einen Variablen-Namen habe ich nicht zugewiesen, aber das ist soweit ich verstanden habe optional - und ich hab die Schoße auch schon mit Variablennamen ausprobiert mit gleichem Ergebnis)

Das widerspenstige Textfeld, um das es hier geht, hat den Instanznamen Score, der Movieclip in dem es sich befindet heißt Row und der wiederum befindet sich in einem Movieclip namens Grid. Das nur als Hintergrundinfo

So.

Im Movieclip erscheint das Textfeld beim Testen ganz normal. Mit
Code:
trace(this.Score.text);
im ActionScript des Eltern-Clips gebe ich den Wert des Textfeldes aus. Soweit so schön.

Sobald ich aber mit
Code:
this.Score.text = "44";
den Inhalt des Textfeldes verändern will, verschwindet es.

Ich kann aber mit einem erneuten
Code:
trace(this.Score.text);
den zugewiesenen Wert auslesen. Dort erscheint das als Ausgabe des trace korrekt "44",

Auch die Debug-Info gibt folgendes aus
Code:
Movieclip: Bild=1 Ziel="_level0.Grid.Row"
      Text bearbeiten: Ziel="_level0.Grid.Row.Score" Variable= Sichtbar=true Text = <TEXTFORMAT LEADING=\"2\"><P ALIGN=\"CENTER\"><FONT FACE=\"Eurostile\" SIZE=\"18\" COLOR
        =\"#111111\" LETTERSPACING=\"0\" KERNING=\"0\">44</FONT></P></TEXTFORMAT>"

Also, der Wert kommt beim Objekt an. Aber ich seh's nach der Zuweisung nicht mehr. Textfarbe = Hintergrundfarbe kann auch nicht das Problem sein, die Hintergrundfarbe des Dokument ist #FFFFCC.

Wo ist mein Denkfehler?

Zur Hintergrundinfo: Bin noch recht neu bei ActionScript hab aber schon einiges in PHP und JavaScript gemacht. Nur mit den Detailteufeln von ActionScript bin ich noch nicht so vertraut.

Vielen Dank für's Durchlesen, Problem verstehen und helfen! :)
 
Zuletzt bearbeitet:
Hallo,
eine grpostete fla würde weiterhelfen, so kann man ja nur ins blaue raten, was falsch ist. Meine Vermutung ist, dass es ein HTML-Textfeld ist und eine Zuweisung mit

Code:
this.Score.htmlText = "44";

funktionieren würde, ist aber ein Griff ins Blaue und kann eigentlich auch nicht wirklich sein. Wenn das nicht funktioniert, poste bitte einmal die fla.

Gruß,
jens
 
Zuletzt bearbeitet:
Nein, es ist kein HTML Text.

Was höchst seltsam ist, dass wenn ich den Text vorher mit einem
Code:
 this.Score.replaceText(0, 1, "");
manipuliere, ich danach problemlos über
Code:
this.Score.text = "44";
den Wert des Textfeldes ändern kann.

Übrigens ein
Code:
this.Score.replaceText(0, 2, "44");
ersetzt zwar auch den Wert des Textfeldes im Objekt. Allerdings veschwindet das Textfeld dabei ebenfalls. Nur in der oben genannten Variante erscheint wie gewünscht die "44" im Textfeld.

fla-Datei. ist im Anhang. Die zugehörigen as-Dateien konnte ich leider nicht posten. Aber die dürften hierfür auch nicht relevant sein. Die mit dem SymBol Row verknüpfte as-Datei enthält nur die Klassendefinition mit einem leeren Konstruktor.
 

Anhänge

  • Sascha Flash OOP.fla
    112 KB · Aufrufe: 41
Zuletzt bearbeitet:
Hi,

nimm das Häkchen bei "Automatisch unterschneiden" in den Textfeldeigenschaften raus.

Dass nicht die eingebetteten Zeichen verwendet werden, siehst Du schon daran, dass die Schrift nicht wie eingestellt transparent dargestellt wird.

Dieses Problem habe ich seit Flash 8 bei einigen Schriftarten und -Schnitten erlebt: Ist automatisch Unterschneiden aktiviert, wird (aus mir bislang unbekannten Gründen) nicht eingebettet.

Gruß
.
 
Ahhhhh, ich hätte das Ding wohl mal mit einer weniger ausgefallenen Schriftart testen sollen. Dann wäre ich vielleicht selbst auf den Trichter gekommen. Aber irgendwann ist man selbst so blind...

Dein Hinweis hat mein Problem gelöst. Du bist ne Heizung! :)

DANKE!
 

Neue Beiträge

Zurück