トップへ戻るニュースフォーラムFLASH-ML 過去ログBak@Flaダウンロードよくある質問と答
ログイン
ユーザ名:

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   迷える子羊の部屋【初心者専用】
     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: キー入力に関連付けられていなかったため、languages.xml に対する loadVariables の呼び出しは無視されました。

上記のエラーコード(FTPA018)でGoogle検索かけたところ、flash-jpの下記の
スレッドがヒットしました。

FTPA018 loadVarsなどをキー入力に関連つけるための方法
http://www.flash-jp.com/modules/newbb/viewtopic.php?topic_id=7603&forum=18

参考までに。


----------------
Tonpoo (a.k.a. gaienboy)
Tonpoo.com / TONPOOBLOG / twitter@tonpootwit

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 の中に入ってくれないことにあるのでしょうか。
現在も尚、調べてはいますが以前として解決はしておりません。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ

投稿するにはまず登録を
 
Copyright (C) 2003 FLASH-japan. All rights reserved.
Powered by Xoops