我有一个包含100多个文本条目的xml文件和一个动态文本字段。我希望文本根据帧编号而改变。这是我的(非工作)代码:
var myXML5: XML = new XML();
var XML_URL5: String = "assets/bulles.xml";
var myXMLURL5: URLRequest = new URLRequest(XML_URL5);
var myLoader5: URLLoader = new URLLoader(myXMLURL5);
myLoader5.addEventListener("complete", xmlLoaded5);
var list5: Number = 0;
function xmlLoaded5(event: Event): void {
myXML5 = XML(myLoader5.data);
}
function fnPeople5(peopleList5: XML): void {
bulles.text = peopleList5.bullestext.bulle.text()[list5];
}
function bulles2(e: Event): void {
var i5: int = france_map.currentFrame();
list5 = i5;
fnPeople5(myXML5);
}
我希望有人可以帮忙:) 病毒Jeryl
答案 0 :(得分:0)
这应该会给你一个想法。假设你的xml是这样的
<?xml version="1.0" encoding="UTF-8"?>
{
{1}}
<myTexts>
{
{1}}
<bullestext> <bulle> text1a </bulle> </bullestext>
<bullestext> <bulle> text2b </bulle> </bullestext>
<bullestext> <bulle> text3c </bulle> </bullestext>
<bullestext> <bulle> text4d </bulle> </bullestext>
<bullestext> <bulle> text5e </bulle> </bullestext>
然后你可以像这样做你的代码..
我没有设置鼠标/键盘事件进行测试,但没有后顾之忧,没有任何问题,所以你仍然可以使用</myTexts>
和你自己的完整代码。另外,因为XML从零开始计数,但是帧数是从1开始的,我们知道每个XML条目等于帧数减去一个。
如果var myXML5: XML = new XML();
var XML_URL5: String = "assets/bulles.xml";
var myXMLURL5: URLRequest = new URLRequest(XML_URL5);
var myLoader5: URLLoader = new URLLoader(myXMLURL5);
myLoader5.addEventListener("complete", xmlLoaded5);
var list5: Number = 0;
function xmlLoaded5(event: Event): void
{
trace ("XML loaded complete");
myXML5 = XML(myLoader5.data);
//trace (myXML5); ///show xml contents
//fnPeople5(myXML5);
france_map.gotoAndStop(3); //for test (shows xml entry [3] later on)
bulles2();
}
//testing without event (click event?)
//function bulles2(e: Event): void
function bulles2(): void
{
var i5: int = france_map.currentFrame; //.currentFrame();
list5 = i5 - 1; //frame [1] is equal to xml entry [0] so we minus by 1
trace ("list5 : " + list5);
fnPeople5(myXML5);
}
function fnPeople5(peopleList5: XML): void
{
//testing traces
trace(peopleList5.bullestext[0].bulle);
trace(peopleList5.bullestext[4].bulle);
//show entry (example: entry 3)
bulles.text = peopleList5.bullestext[list5].bulle;
}
中的文字没有显示,但function bulles2(e: Event): void
中的跟踪正常,则尝试嵌入字体。请检查此链接:What methods are there for creating FLAs with dynamically created text, that outputs swfs with only the font glyphs included that are required?