好吧,我試圖訪問由章節組成的本地XML文檔,每章都有幾頁文本。我有一個條件,聽按鈕點擊和「翻頁」可以這麼說。 「if」工作正常:它在頁面中循環直到達到結尾。但「其他」條件不起作用。它甚至不會追蹤任何東西。我知道這是因爲此錯誤:在我的條件結束時出現錯誤:TypeError:Error#2007:參數文本必須爲非空
TypeError:錯誤#2007:參數文本必須爲非null。 () at flash.text :: TextField/set text() at thisArray/textLoader()
...但不知道如何解決它。我是否需要完全放棄通過文本循環閱讀的方法,或者我只是缺少一些小的東西?對不起,如果這些代碼是sl ...的...我已經調整了一下,試圖讓它工作。謝謝您的幫助。
下面是相關代碼:
package {
import as3101.ui.formatA;
import flash.display.*;
import flash.text.*;
import flash.display.Sprite;
import flash.display.MovieClip;
import flash.events.*;
import flash.utils.Dictionary;
import flash.events.*;
import flash.display.Loader;
import flash.net.URLLoader;
import flash.net.URLRequest;
public class thisArray extends MovieClip {
//XML Vars
private var xml:XML;
private var storyKeys:Dictionary = new Dictionary();
private var xmlLoader:URLLoader = new URLLoader();
private var url:URLRequest = new URLRequest("storyXML.xml");
//Text and Button Vars
private var formatting:formatA;
private var txta:TextField = new TextField();
private var storyBox:Sprite = new Sprite();
private var count:uint = 0;
private var storyText:XMLList;
private var nxtBtn:Sprite = new Sprite();
public function thisArray() {
addChild(storyBox);
storyBox.addChild(txta);
storyBox.x = 0;
storyBox.y = 0;
txta.x = 0;
txta.y = 0;
storyBox.width = 500
storyBox.height = 400;
storyBox.buttonMode = true;
storyBox.mouseChildren = false;
xmlLoader.load(url);
xmlLoader.addEventListener(Event.COMPLETE, onXmlLoad);
//external class formatA sets my text for size, font, etc...
formatting = new formatA();
formatting.defField = txta;
txta.defaultTextFormat = formatting.myFormat;
txta.wordWrap = true;
trace ("class loaded: " + this);
}
private function onXmlLoad(e:Event):void {
xml = new XML(xmlLoader.data);
trace("XML Loaded");
storyText = xml.chapters.chapter.page;
txta.text = storyText[count];
buttonMaker();
}
public function textLoader(e:MouseEvent):void {
count++;
if(count < txta.length)
{
trace("hi");
txta.text = storyText[count];
} else if (count == storyText.length) {
trace("bye");
removeChild(nxtBtn);
}
}
public function buttonMaker() {
nxtBtn.graphics.lineStyle(3,333333);
nxtBtn.graphics.beginFill(0x333333);
nxtBtn.graphics.drawRect(0,0,50,30);
nxtBtn.graphics.endFill();
nxtBtn.x = 480;
nxtBtn.y = 220;
addChild(nxtBtn);
nxtBtn.buttonMode = true;
nxtBtn.name = ("nextButton");
nxtBtn.addEventListener(MouseEvent.CLICK, textLoader);
}
這裏是我的XML文檔:
< XML版本= 「1.0」 編碼= 「UTF-8」? >
< storyText>
<章節>
<章ID = 「0」 名稱= 「一」>
< page num="0" > Text Block A </page>
< page num="1" > Text Block B </page>
< page num="2" > Text Block C </page>
< page num="3" > Text Block D </page>
< /章節>
<章ID =「1」name =「two」> </chapter>
<章ID = 「2」 名稱= 「3」> < /章節>
</storyAnswers>
< /章節>
</storyText>
謝謝你們,今天晚上我會試一試,看看能否解決問題。如果沒有,我也會上傳一個xml文件的樣本。 –
當我切換(計數