永发信息网

Flash AS 调用XML动态文本

答案:1  悬赏:50  手机版
解决时间 2021-07-21 18:22
  • 提问者网友:城市野鹿
  • 2021-07-20 17:26

Flash AS 调用XML动态文本!

构思:建一个XML文件。

然后FLASH中建一个动态文本并附于变量

我要用AS代码调用出XML中的文字。

并一行一行的显示。显示一行后停留5秒再显示下一行内容

高手回复请附上代码和解释……

最佳答案
  • 五星知识达人网友:天凉才是好个秋
  • 2021-07-20 18:09

XML部分
------text.xml------------------------
<?xml version="1.0" encoding="utf-8"?>
<xmltest>
<item>测试1</item>
<item>测试</item>
</xmltest>


as3.0代码部分
------xmlTest.as-----------------------
package
{
import flash.display.Sprite;
import flash.events.Event;
import flash.events.TimerEvent;
import flash.net.URLLoader;
import flash.net.URLRequest;
import flash.text.TextField;
import flash.utils.Timer;

public class xmlTest extends Sprite
{
private var msgArr:Array;//用来显示每行内容的数组
private var timer:Timer;//显示每行文字内容间隔时间
private var showText:TextField;
public function xmlTest()
{
msgArr = new Array();
timer = new Timer(5000);

//创建定时器的监听
timer.addEventListener(TimerEvent.TIMER, timerHandler);

//创建显示每行文字的文本框
showText = new TextField();
addChild(showText);

loadXml();
}

private function loadXml():void
{
var loader:URLLoader = new URLLoader();
var request:URLRequest = new URLRequest("text.xml");
loader.load(request);
loader.addEventListener(Event.COMPLETE, completeHandler);
}

private function completeHandler(e:Event):void
{
var data:XML = XML(e.target.data);
for(var i:Object in data.item)
{
msgArr.push(data.item[i]);
}
timer.start();
}

private function timerHandler(e:TimerEvent):void
{
var arrLen:int = msgArr.length;
var timerCount:int = (e.target as Timer).currentCount;
showText.text = msgArr[timerCount%arrLen];
}


}
}

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯