2016-11-20 2 views
0

Ich versuche Text mit XML und ActionScript 3 in Flash einzubetten. Ich habe den Code gefunden, der für mich funktioniert, aber ich weiß nicht, wie Schriftart und Schriftgröße geändert werden AktionsskriptÄndern der Schriftfamilie und der Schriftgröße in ActionScript 3

Können Sie mir helfen? Vielen Dank!

Mein AS3 fie sieht wie folgt aus:

var yPlacement:int = 20; 
var xPlacement:int = 30; 
var distance:int = 60; 
var myFormat:TextFormat = new TextFormat(); 
myFormat.color = 0xAA0000; 
myFormat.size = 24; 
myFormat.italic = true; 
myFormat.align = TextFormatAlign.CENTER 
var myXML:XML = new XML(); 
var XML_URL:String = "myXMLFile.xml"; 
var myXMLURL:URLRequest = new URLRequest(XML_URL); 
var myLoader:URLLoader = new URLLoader(myXMLURL); 
myLoader.addEventListener("complete", xmlLoaded); 
function xmlLoaded(event:Event):void { 
myXML = XML(myLoader.data); 
var xmlDoc:XMLDocument = new XMLDocument(); 
xmlDoc.ignoreWhite = true; 
var menuXML:XML = XML(myLoader.data); 
xmlDoc.parseXML(menuXML.toXMLString()); 
for each (var ListItem:XML in myXML..ListItem) { 
var listColor:String = ListItem.itemColor.toString(); 
var listLabel:String = ListItem.itemLabel.toString(); 
var listPhone:String = ListItem.itemPhone.toString(); 
var myText1:TextField = new TextField(); 
myText1.text = listLabel; 
myText1.autoSize = TextFieldAutoSize.LEFT; 
myText1.x = 2; 
myText1.y = 2; 
var myText2:TextField = new TextField(); 
myText2.text = listPhone; 
myText2.autoSize = TextFieldAutoSize.LEFT; 
myText2.x = 2; 
myText2.y = 20; 
var clip_mc = new MovieClip(); 
clip_mc.addChild(myText1); 
clip_mc.addChild(myText2); 
addChild(clip_mc); 
clip_mc.y = yPlacement; 
clip_mc.x = xPlacement; 
yPlacement = yPlacement + distance; 
} 
} 

Und XML-Datei wie folgt aussieht:

<?xml version="1.0" encoding="utf-8"?> 
<XML> 
<myXMLList> 
<ListItem> 
<itemColor>FFFFFF</itemColor> 
<itemLabel>NÃO ACORDES O DRAGÃO</itemLabel> 
<itemPhone>SÁBADO - 14H00</itemPhone> 
<itemSize>32</itemSize> 
</ListItem> 
<ListItem> 
<itemColor>FFE8E8</itemColor> 
<itemLabel>Emily Owen</itemLabel> 
<itemPhone>888-888-8888</itemPhone> 
</ListItem> 
<ListItem> 
<itemColor>DDFDB3</itemColor> 
<itemLabel>Jeff Jones</itemLabel> 
<itemPhone>666-666-6666</itemPhone> 
</ListItem> 
<ListItem> 
<itemColor>DDFDB3</itemColor> 
<itemLabel>Hello</itemLabel> 
<itemPhone>666-666-6666</itemPhone> 
</ListItem> 
</myXMLList> 
</XML> 

Antwort

1

ich das hier gefunden, aber noch nicht getestet: http://help.adobe.com/en_US/ActionScript/3.0_ProgrammingAS3/WS5b3ccc516d4fbf351e63e3d118a9b90204-7d87.html

Theoretisch ist es würde so aussehen (kombiniert Ihren Code und die Beispiele):

var myText1:TextField = new TextField(); 
myText1.text = listLabel; 
myText1.autoSize = TextFieldAutoSize.LEFT; 
myText1.x = 2; 
myText1.y = 2; 

var format1:TextFormat = new TextFormat(); 
format1.size= 14; 

var format2:TextFormat = new TextFormat(); 
format2.font = "Courier"; 

myText1.setTextFormat(format1); 
myText1.setTextFormat(format2); 
1

Jedes Mal, wenn Sie den Text ändern, müssen Sie die Methode setTextFormat() aufrufen, nachdem Sie den Text geändert haben. Achten Sie darauf, dass Sie haben die Schriftart in der Bibliothek, wenn Sie möchten Fonts einbetten:

enter image description here

enter image description here

Wenn die Textänderungen und Sie rufen Sie nicht die setTextFormat (params ...) Das TextFormat wird ignoriert.

Mit freundlichen Grüßen. Nicolas

+0

AS3 Leitfaden Referenz: http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/ ist fast klar als PHP-Sprachreferenz: https://secure.php.net/manual/en /index.php Sogar AMO PHP-Referenz ist effizienter ... – tatactic

+0

php.net ist voller Kommentare und Beispiele. Auf der Adobe-Website: "Kommentare wurden vom Systemadministrator deaktiviert". S..t :( Auf php.net, Sie können Beispiele, und so weiter ... Dies ist manchmal sehr hilfreich. – tatactic

+0

Ich denke, das ist eine Entscheidung von Adobe, um die Unterstützung in Zukunft zu stoppen :( Selbst wenn Sie verkaufen weiterhin Flash CC Das ist eine Schande AMO Sie wissen über die Zukunft von Flash, auch sie weiterhin dieses Produkt zu verkaufen! – tatactic

Verwandte Themen