2009-07-01 7 views
6

Ich habe bereits gegooglet und lese viele verschiedene Themen in Bezug auf dieses Problem, aber kann immer noch nicht meine lösen. Ich habe dieses dynamische Textfeld in einem MovieClip, und ich habe Großbuchstaben, Kleinbuchstaben und Zahlen eingebettet. Ich habe den Movieclip exportiert, dann in meiner Klasse verwendet und er lädt Daten von XML.Embedding Fettschrift in AS3 Flash dynamisches Feld

Allerdings, nachdem ich die Fettschriftarten eingebettet hatte, hörte es auf, Daten von XML anzuzeigen, wenn ich regulär verwende, ist es in Ordnung. Dann habe ich ein Font-Symbol erstellt und die Fettschrift in der Bibliothek hinzugefügt, es gibt mir immer noch nichts.

Weiß jemand, wie man dieses Problem löst?

danke.

Antwort

2

Die einfachste Möglichkeit, dieses Problem zu beheben, besteht darin, eine Reihe von Textfeldern außerhalb des Bildschirms zu erstellen. Jedes Feld behandelt die Einbettung für eine einzelne Schriftart und Gewichtskombination, die Sie benötigen. Wenn Sie also zum Beispiel für eine einzelne Schriftart "normal", "fett", "kursiv" und "fett und kursiv" benötigen, haben Sie vier Textfelder - jedes mit Einbettung und die Zeichen, die Sie auswählen müssen.

Dann können Sie einfach Schriftart Einbettung für jedes andere Textfeld aktivieren und es wird in der Lage sein, alle vier Stile (dieser Schriftart) zu verwenden.

1

Ich nehme an, Sie verwenden eine der neuesten Versionen der Flash IDE.

Klingt für mich wie ein Konflikt. Wenn Sie in diesem Film ein anderes Textfeld mit der gleichen Schriftart und dem gleichen Gewicht haben, aber nicht auf die eingebettete Schriftart eingestellt sind, würde es einen stillen (und ärgerlichen) Konflikt geben. Die Lösung besteht darin, sicherzustellen, dass alle Textfelder, einschließlich statisch und Eingabe, auf die Schriftart in der Schriftartliste mit dem Sternchen, d. H. Arial *, eingestellt sind.

Wenn dies nicht für Sie beheben, schlage ich vor, dass Sie die Schriftart mit dem [Embed] MXML-Tag (nur CS4) einbetten sollten. Lee Brimelow hat ein tolles Video-Tutorial zu dieser Technik, das Sie unter gotoAndLearn ansehen können.

Ich hatte einige Probleme mit eingebetteten Schriftarten vor und das Embed-Tag reparierte es für mich. Schauen Sie sich my post an und sehen Sie, ob es hilft.

2

Ich habe versucht, jede Instanz auf die eingebettete Version Schriftart ohne Erfolg zu ändern. ICH WAR jedoch in der Lage, die Lösung auf dem Adobe-Forum hier vorgeschlagen zu verwenden:

http://forums.adobe.com/thread/716363

Statt myTextFieldInstance.text zu verwenden, verwenden myTextFieldInstance.htmlText und "<b>" + yourStringValue + "</b>" bei der Zuordnung angeben. Während kludsey bis zum Maximum, war es eine einfache Lösung für das Problem.

0

Es gibt definitiv ein Problem mit der Anwendung Bold Schriftart.

Die Schriftart wird nicht als BOLD mit folgendem Code festgelegt, wenn Sie den Text später irgendwo im Code dynamisch aktualisieren.

var myTextFormat:TextFormat = new TextFormat(); 
myTextFormat.font = "Arial"; 
myTextFormat.bold = true; 
myTextField.setTextFormat(myTextFormat); 

// 
myTextField.text = "some dynamic text"; 

Stattdessen müssen Sie das Textformat jedes Mal anwenden, wenn Sie den Text aktualisieren.

var myTextFormat:TextFormat = new TextFormat(); 
myTextFormat.font = "Arial"; 
myTextFormat.bold = true; 

// 
myTextField.text = "some dynamic text"; 
myTextField.setTextFormat(myTextFormat); 

Aber, ich es in der Regel als Standard-Schriftart wie unten gezeigt,

var myTextFormat:TextFormat = new TextFormat(); 
myTextFormat.font = "Arial"; 
myTextFormat.bold = true; 
myTextField.defaultTextFormat = myTextFormat; 

// 
myTextField.text = "some dynamic text"; 

Nicht eine perfekte Art und Weise für eine robustes Projekt, aber es funktioniert.