電子書籍の厳選無料作品が豊富!

Flash Lite1.1において、外部データからムービークリップの_x座標を設定したいのですがどのようにすればできるのでしょうか??


【abc.txt】
x=100&y=200


というテキスト外部データがあり。
ムービークリップの座標に設定したいのです。
以下ソースだけではできないのでしょうか?ご教授よろしくお願いします。


loadVariables("abc.txt",_root);
_x = x;
_y = y;

A 回答 (1件)

Flash Player 6 以上でしたら,


LoadVars.onLoad で外部テキストのロード完了がわかります。

Flash Player 5 以上でしたら,
ムービークリップ内に外部テキストをロードした場合に限って
ムービークリップ自体に書く
onClipEvent(data){} で外部テキストのロード完了がわかります。

Flash Player 4(つまり Flash Lite)ではその両方がないのですから,
例のごとくフレームの グルグルループ でロード完了を待つしかないでしょう。

とにかく,外部テキストがロードされない限り,
外部テキスト内のデータはわからないわけですから,
わからないうちに何かを外部テキストデータ通りにすることはできません。

フレーム の グルグルループ で,
どこのフレームをグルグルループさせるべきかは
作るものによるので何とも言えません。



とりあえず
Flash Lite では,外部○○ と通信するにはキーイベントが必要なわけですから,
少なくとも,loadVariables はボタンに書く必要がありますよね。

ボタンのフレームをグルグルループさせることはできませんから,
座標を動かすムービークリップのフレームをグルグルループさせることにします。

とりあえずボタンには次のように書きます。

---_root のボタン-------------------------
on(release){
loadVariables("abc.txt",_root);
}
---------------------------------------



座標を変えるムービークリップ内のフレームを
少なくとも 2フレーム 以上にして,
フレーム1 に次のように書きます。

---ムービークリップ内フレーム1---------------
// もし _root の y が空白文字列ではない場合
if(_root.y ne ""){
// このムービークリップの座標を移動
_x = _root.x;
_y = _root.y;
// そしてこのムービークリップの再生を停止
stop();
}
---------------------------------------


そしてフレーム2にキーフレームを作って,
フレーム2 には次のように書きます。

---ムービークリップ内フレーム2---------------
gotoAndPlay(1);
---------------------------------------

これで, _root の変数 y に何かが入るまで
ムービークリップ内のフレーム1と2はグルグルループ再生され,
外部テキストがロードされ次第ループ再生は停止します。

もっとも ムービークリップ内フレーム1 の stop(); は単なる1つの例です。
stop(); ではなく gotoAndPlay(3); などにしても良いですね。
    • good
    • 0
この回答へのお礼

loadVariablesはボタンに書く必要があったんですね!
ご丁寧な解説ありがとうございました。
無事座標取得できました。

お礼日時:2009/07/30 13:32

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!