メイン 迷える子羊の部屋【初心者専用】 XMLからの読み込み->ダイナミックテキスト表示に困っています。 タグ用 -> XML text load | 投稿するにはまず登録を |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
QooStyle | Åê¹ÆNo.38343 投稿日時: 2008-4-7 17:55 |
新米 居住地: 投稿: 2
使用環境:
WinXP(Pro/Home),MacOS10,CS3 |
XMLからの読み込み->ダイナミックテキスト表示に困っています。 タグ用 -> XML text load こんにちは。
本題から先に明記させて頂きます。 test.fla test.swf test.xml flashlite 2.0 actionscript 2.0 win xp / home mac os x 10 *2つのPCでテスト制作しています。 を同じディレクトリ内に保存し、xmlを読み込み、必要な内容をフラッシュ内のダイナミックテキストにインスタント名を指定して表示させるようにしたいと思っています。 次にソースコードを明記致します。 -> test.fla source code function setSOdata() { if(soReady) { so_response.data.question = questionData.toString(); so_response.data.definition = definitionData.toString(); so_response.data.firstRun = true; so_response.flush(); trace("First time app is run - default data saved"); } else { trace("ERROR : SharedObject not ready, No data written"); } } function getSOdata() { if(soReady) { question_txt.text = so_response.data.question; definition_txt.text = so_response.data.definition; trace("Not first time app was run - SharedObject data displayed"); } else { question_txt.text = "Data not available"; } } var so_response:SharedObject = SharedObject.getLocal("response"); var myXml = new XML(); myXml.ignoreWhite = true; myXml.load("languages.xml"); myXml.onLoad = function(check) { if(check) { trace("XML file loading complated"); trace("Load" + myXml.getBytesLoaded()); trace("All" + myXml.getBytesTotal()); trace("Percent" + Math.floor(myXml.getBytesLoaded() / myXml.getBytesTotal() * 100)); } else { trace("XMLtest"); } if (myXml.loaded) { trace("load() finished"); } else { trace("load() unfinished"); } trace("test trace"); if(check == true) { trace("XML Loaded"); myXml = myXml.firstChild; if(myXml.nodeName.toUpperCase() == "response") { trace("Preparing Response"); questionData = myXml.firstChild.firstChild; definitionData = myXml.firstChild.attributes.definition; question_txt.text = questionData; definition_txt.text = definitionData; trace(questionData); } } else { trace("Connection failed"); } }; stop(); 以上です。 xmlの表示は、このASと同じフレーム内にあるボタンから、表示をするフレームまで進ませてから表示したいと思っています。 フレーム1 = ASの読み込み+ボタンでフレーム5へ フレーム5 = XMLの内容の表示 traceを多様していますが、実際には表示されず FTPA018: キー入力に関連付けられていなかったため、languages.xml に対する loadVariables の呼び出しは無視されました。 と出ます。 その他のロジック的FLASHの動きには問題がなく、XMLの読み込みと表示に至る経緯がとてもネックになっています。 最後にXMLファイルに関して明記致します。 <response> <response_item question="QuestionData"> DefinitionData </response_item> </response> 特別な事をしていませんが、すべてのテキストファイルはUTF-8に統一しております。 UTF-8の宣言がないのは、念の為ためしではずして試みた時のソースだからです。 XML側のすべての宣言は試してみましたが、TRACEの表示がないので、やはりFLASH側のエラーなのでしょうか。 |
Tonpoo (gaienboy改め) | Åê¹ÆNo.38344 投稿日時: 2008-4-7 18:01 |
職人 居住地: 東京・神宮前 投稿: 717
使用環境:
Windows 7 Professional, Flash CS5 Pro, Flash Player 10,1,102,64 |
Re: XMLからの読み込み->ダイナミックテキスト表示に困っています。 タグ用 -> XML text load gaienboyです。
引用: QooStyleさんは書きました: 上記のエラーコード(FTPA018)でGoogle検索かけたところ、flash-jpの下記の スレッドがヒットしました。 FTPA018 loadVarsなどをキー入力に関連つけるための方法 http://www.flash-jp.com/modules/newbb/viewtopic.php?topic_id=7603&forum=18 参考までに。
|
QooStyle | Åê¹ÆNo.38350 投稿日時: 2008-4-7 22:20 |
新米 居住地: 投稿: 2
使用環境:
WinXP(Pro/Home),MacOS10,CS3 |
Re: XMLからの読み込み->ダイナミックテキスト表示に困っています。 タグ用 -> XML text load gaienboyさん、ありがとうございます。
サイトの方、拝見させて頂き参考にさせて頂きました。 その他、エラーに関してのサイトを調べた上でソースに反映させませて、エラーの方は解決しました。 var myListener:Object = new Object(); var soReady = "1"; function setSOdata() { if(soReady == 1) { so_response.data.question = questionData.toString(); so_response.data.definition = definitionData.toString(); so_response.data.firstRun = true; so_response.flush(); trace("First time app is run - default data saved"); } else { trace("ERROR : SharedObject not ready, No data written"); } } function getSOdata() { if(soReady == 1) { question_txt.text = so_response.data.question; definition_txt.text = so_response.data.definition; trace("Not first time app was run - SharedObject data displayed"); } else { question_txt.text = "Data not available"; } } var so_response:SharedObject = SharedObject.getLocal("response"); function(langXML) { myXML = new XML(); myXML.ignoreWhite = true; myXML.onLoad = function(success) { if(success) { trace("XML file loading complated, in data here."); trace("Load" + myXml.getBytesLoaded()); trace("All" + myXml.getBytesTotal()); trace("Percent" + Math.floor(myXml.getBytesLoaded() / myXml.getBytesTotal() * 100)); myXml = myXml.firstChild; if(myXml.nodeName.toUpperCase() == "response") { trace("Preparing Response"); quesåtionData = myXml.firstChild.firstChild; definitionData = myXml.firstChild.attributes.definition; question_txt.text = questionData; definition_txt.text = definitionData; trace(questionData); } else { trace("Connection failed"); } } } trace("languages.xml loading."); myXML.load("languages.xml"); } trace("stop"); trace("and go set by langXML"); langXML; stop(); 現在のソースコードになります。 ドコモの公式サイトには、フレームの一番最初に外部ファイルを読み込めむと、エラーが出ますとの事でしたが、ActionLite2.0では可能なようで、こちらのソースでのエラーは皆無でした。 ただ、どうしても function langXML() { 内にはいってくれません。 原因は function の中に入ってくれないことにあるのでしょうか。 現在も尚、調べてはいますが以前として解決はしておりません。 |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |
投稿するにはまず登録を | |