「これはヤバかったな」という遅刻エピソード

はじめまして
FLASH8を使用しています。
ActionScript初心者です。よろしくお願いします。

単体のswfだと機能するのですが、loadMovie後機能しなくなってしまいます。

読み込ませる側のアクションは
▽ボタンシンボルに
on (press) {
_root.moveMenu_1 = -138;
menu_name.text = "キッズメニュー";
menu_text.text = kidsData;
}

▽フレームアクション
loadVariables("kidsmenu.txt", this);
loadVariables("menmenu.txt", this);
loadVariables("ladymenu.txt", this);
loadVariables("seniormenu.txt", this);
moveMenu_1 = -296;
this.onEnterFrame = function() {
img_y._x += ((0-moveMenu_1)-img_y._x)*0.1;
};

MCのインスタンス名は「img_y」です。
他にボタンが3つほどあります。
swf単体だと機能します。
loadMovie後text・外部テキストは読み込むのですが、スクロールしなくなってしまいます。
これを3_1.swfとしました。



読み込む側のアクションは
▽ボタンシンボルに
on (press) {
_root.moveMenu = 2100;
}

他に4つほどボタンがあります。

▽フレームアクション
scroll_flag = 0;
moveMenu = 0;
this.onEnterFrame = function() {
if (scroll_flag == -1) {
if (back_img._x<0) {
moveMenu -= 20;
} else {
moveMenu = 0;
}
}
if (scroll_flag == 1) {
if (back_img._width+back_img._x>700) {
moveMenu += 20;
} else {
moveMenu = 2800;
}
}
back_img._x += ((0-moveMenu)-back_img._x)*0.1;
};
back_img.c_1.loadTarget.loadMovie("1_1.swf");
back_img.c_2.loadTarget.loadMovie("2.swf");
back_img.c_3.loadTarget.loadMovie("3_1.swf");
back_img.c_4.loadTarget.loadMovie("4.swf");
back_img.c_5.loadTarget.loadMovie("5.swf");

スクロールするMCを「back_img」としました。
他に読み込んだものは機能したんですが
3_1だけうまく機能しません。

長々と失礼しました。

A 回答 (1件)

全体像がはっきりとしませんが,


おそらく「3_1.swf」 が読み込まれることによって,
「3_1.swf」 から見た何かのパス,,
つまり,
「back_img.c_3」 から見た何かのパスが変わったからでしょう。
見る限りで "は", アヤシイ のはこの1行です↓。

_root.moveMenu_1 = -138;

_root は 読み込む側の _root になります。
よくわかりませんが,
moveMenu_1 という変数は _root に置きたいのではなく,
_root の back_img.c_3 内に置きたいのではないでしょうか。


ですから,

_root.moveMenu_1 = -138;

を ,

this.moveMenu_1 = -138;

とか,

moveMenu_1 = -138;

とか

_root.back_img.c_3.moveMenu_1 = -138;

に変更すればうまく行くような気がします。



====================

他にも変なところがあるかもしれません。
もし,うまく行かなければ,
_root を そのムービークリップ(読み込まれるSWF)にロックしてみるのが簡単だと思います。

上記以外でも,
他も何も全て変更なしで「3_1.swf」の フレーム1 のスクリプトの1行目に,

this._lockroot = true;

と書いてみてください。
すると,そのうまく行くような気もします。


Flashドキュメンテーション (つまりヘルプ)
「_lockroot (MovieClip._lockroot プロパティ)」
http://livedocs.macromedia.com/flash/8_jp/main/0 …

ただし,
この_lockroot を使う場合は,
Flash Player 7 以上にパブリッシュしてください。
6以下では動作しません。
    • good
    • 0
この回答へのお礼

sassakun様ありがとうございました。
私の曖昧な質問文すみませんでした。

ご丁寧な回答ありがとうございます。
解決することができました。
「_lockroot」のほうも勉強してみます。

本当にありがとうございました。

お礼日時:2007/04/13 13:52

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