• ベストアンサー

[Flash5] 変数にアクセスできない・・・。

非常に初歩的な質問かもしれないのですが・・・。 ステージにムービークリップAとBをそれぞれ別レイヤーで置き、Bのオブジェクトアクション(onClipevent load)でデータを読み込んで変数Xに入れています。 それをAのオブジェクトアクション(onClipevent enterFlame)でtrace(X)しても何も入っていません。 別のムービークリップ内で宣言したデータを読むためには何か必要なのでしょうか。よろしくお願いします・・・。

質問者が選んだベストアンサー

  • ベストアンサー
  • blueoak
  • ベストアンサー率50% (2/4)
回答No.1

trace(x) のかわりに、絶対指定の trace(_parent.クリップB.x) としたらどうでしょうか? (クリップBはムービークリップBのインスタンス名) ご質問とお答えが食い違っているかも、、、

pythian
質問者

お礼

_parentですね。一生懸命_rootでやって失敗していました。ありがとうございます、初級から出直してきます。(笑)

関連するQ&A

  • 外部jpeg読込み

    外部jpegを読込用 ムービークリップ"img"に対して外部jpegを読み込もうとしています。 ムービークリップに直接loadMovie(Path)として画像を読み込んで、そのムービークリップのアクションで onClipEvent (load) { this._width = 100; this._height = 50; } とサイズを指定しています。 このサイズを指定しているアクションを_rootステージのアクションスクリプトレイヤーに置き換え直接書きたいのですが方法はないのでしょうか? ご教授ください。

    • ベストアンサー
    • Flash
  • onClipEvent の enterFrameとloadについて

    お世話になります。 幅500pxのステージに形だけのムービークリップを作り、 それに onClipEvent (enterFrame) { if (this._x<=100) { this._x = 250; } else { this._x = 300; } } と記述しました。 ステージ上でムービークリップのx位置を100px以下に配置したところ、300pxに移動してしまいます。 onClipEvent (load)に変更すると250pxになります。 なぜですか? よろしくお願いします。

    • ベストアンサー
    • Flash
  • FLASHで移動のスクリプトを教えて下さい。

    FLASHについて質問です。シンボル移動のアクションスクリプトを教えて下さい。 FLASH CS5 XPとVista使用 アクションスクリプト 2.0 簡単なゲームを作っています。 動かしたいムービークリップをフレーム移動ではない方法を考えています。 ムービークリップの名前を「maru」とし、ステージにx200、y200の位置(A地点)に配置しムービークリップをクリックする、 すると右に100移動、(B地点) 2回目にクリックすると元の地点(A地点)に戻る。 3回目にクリックするとまた右に100移動、(B地点) 4回目にクリックすると元に地点(A地点)に戻る。 ・・・というような一つのムービークリップがA地点とB地点を行き来するだけの動きを希望しています。 このようなアクションスクリプトを試してみました。 on (release) { if (_x > 200) { marux = -marux; } if (_x < 200) { marux = -marux; } _x += marux;} onClipEvent (load) { marux = 100; } ところがこれだと、3回目のクリックでもとのA地点に行かずに-100の座標、A地点より100左の地点へ行ってしまします。 ムービークリップにいれるアクションスクリプトを教えて下さい。 どうかよろしくお願い致します。

  • ムービークリップ再生後次のフレームへ移動しません

    アクションスクリプトを使って、テキストが下から上へ流れるようにムービークリップを再生し、テキストが流れ終わったところで次のフレームへ移動させたいのですが、フレームが移動せず困っています。 スクリプトは色々なところで調べて、やっとの事で下記のように書きました。 使用しているのはFlash MX 2004 です。 |○  □|○|  ←1.スクリプトレイヤー |●    □|  ←2.ムービークリップレイヤー |○|●→|●|  ←3.ムービークリップ後に再生したいレイヤー 1.のスクリプト(2つのキーフレームいずれとも) stop(); 2.のムービークリップのスクリプト onClipEvent (load) { spd =5; onClipEvent (enterFrame) { this._y = this._y-spd; if (this._y<=-10) { spd = 0; gotoAndPlay(2); } } 知り合いにお見舞いのメッセージをと思って作ったのですが、送ることが出来なくてとてもあせっています。 どうぞよろしくお願いします。

    • ベストアンサー
    • Flash
  • Flashでボタンをクリックするとフェードイン、フェードアウトする

    アクションスクリプト初心者なのですが、 スクリプトで、ボタンをクリックすると 現在のフレームのムービークリップがフェードアウトしながら、 次のページのムービークリップがフェードインする方法を ご存知でしたら、教えていただけないでしょうか。 ムービークリップがロードしたら、 フェードインするところまでは出来たのですが、 それだと、現在のムービークリップがフェードアウトしないので 困っています。 ムービークリップがロードしたら、 フェードインするスクリプトは、 onClipEvent (load) { _alpha = 0; } onClipEvent (enterFrame) { _alpha += 2; } と記載しております。 どうぞよろしくお願いします。

    • ベストアンサー
    • Flash
  • 関数にカウント変数を随時代入したいのですが・・

    インスタンス名「typ1」から「typ17」までの連番のムービークリップのボタンがステージに配置されている状態でフレームアクション for (i = 1; i < 18; i++) { this["typ" + i].onRelease = function () { trace(i); xChangeSelType (i); }; } を行い、プレビューでボタンを押すときちんと動作しませんでした。 ためしにtraceアクションで何が代入されているか見ると一律「18」が代入されていました。 typ1のムービークリップをクリックしたときは xChangeSelType(1); typ9のムービークリップをクリックしたときは xChangeSelTyoe(9); を動作させたいのですが↑のコードをどう書き換えればいいでしょうか? ボタンが多いのでできればスクリプトでなんとかしたいのですが・・。 よろしくお願いします。

    • ベストアンサー
    • Flash
  • FLASH ダイナミックテキスト 外部ファイル

    初めまして。 現在外部ファイル(mNO.txt 内容:a=1&b=2&c=3&d=4&e=5)を アクションスクリプト(レイヤーにloadVariablesNum("mNO.txt", 0);)で読み込み、 外部ファイルに書き込まれている値をダイナミックテキストで表示させたいのですが、 外部ファイルは読み込まれますが、変数の値がうまく表示されません。 方法は、 テキスト入力をして、これをダイナミックテキストに変換・変数(no1)を設定し、シンボルに変換(ムービークリップ)、 レイヤーに上のアクションスクリプトを入力。 ムービークリップにアクションスクリプト、 (onClipEvent (load) { no1 = a + "号室"; }) を入力。 以上です。 デバッグすると 左上に _lebel0. L_lebel0.instance1 のように表示されますが関係あるのでしょうか。 バージョンは6です。 説明が下手で申し訳ございません。 よろしくお願いします。

    • ベストアンサー
    • Flash
  • 立体回転運動 新たにボタンを作って一定角度だけ動かす

    お世話になります。 下記のプログラムは3Dのぐるぐる回るプログラムなのですが、 onClipEvent (load) { degree = 0; r = 100; centerx = 150; centery = 100; } onClipEvent (enterFrame) { radian = Math.PI/180*degree; this._x = centerx+r*Math.cos(radian); this._y = centery+r*Math.sin(radian)/2; this._xscale = this._yscale=this._alpha=this._y; degree += 5; } -------------------------------------------------------------------- それで、ここからなのですが、 onClipEvent (enterFrame) {  --省略-- degree += 5;  ↓ のところをまず削除して、新たにボタンを作って、そのボタンを押すと、 押すたびにある一定の角度分だけ円運動するようにしたいのですが、どうしたらいいんでしょうか? 単純にボタンを作って、 そこに on(release) { degree +=5; } と書いてもまともに動きません。 初心者なものなので、よろしくお願いします。 それと、このプログラムはムービークリップに記載されているのですが、出来たらルート画面のレイヤーにactionを作って、そこにスクリプトをまとめて書きたいと思うんですが、どうしたらいいんでしょうか?ムービークリップにインスタント名をつけて、上記のプログラムの前に、 ムービークリップインスタント名.onClipEvent (load) { --省略-- } ムービークリップインスタント名.onClipEvent (enterFrame) { --省略-- } としたら、フィールド名がありませんとエラーが出てしまいます。 長くなってしまいましたが、わかりずらい説明かとは思うのですが、重ねてよろしくお願いします。

  • マウスを追いかける

    ムービークリップがマウスを追いかけるというようにしたいのですが、追いかけるムービークリップが別のシンボルの中にあると座標がずれるようで、このずれをなくしたいのですがどのようにすればよいのでしょうか? 詳しくは、シーン1にシンボル(ただの図形と追いかけてほしいムービー:mc1)を置いて、mc1に下記のスクリプトを書きました。 -------------------------------------------- onClipEvent (load) { _root.mc1.startDrag(true); x = _root._xmouse; y = _root._ymouse; } onClipEvent (enterFrame) { _x += (_root._xmouse-_x)/4; _y += (_root._ymouse-_y)/4; } --------------------------------------------

    • ベストアンサー
    • Flash
  • Flash MX ActionScriptのEnterFrame

    Flash 初心者です。 クリップアクションの、 onClipEvent (enterFrame) { } がいまいちよくわかりません。 フレームが1フレームだけのルートのタイムラインに、 何の動きもないムービークリップオブジェクト(これも1フレームのみ)を1つ置いたとします。 そのムービークリップに、例えば、 onClipEvent (enterFrame) { _rotation+=20; } とアクションをつけたとします。 これを再生すると、回転し続けますよね。 これはルートのタイムラインが1フレームだけでも、 それがループしていると考えると、納得できるのですが、 1フレーム目に、this.stop();を記述しても、 回転し続けます。 enterframeとはどのように解釈すればいいのですか? ルートのタイムラインが再生される度に呼び出されるということでは ないのでしょうか? よろしくお願い致します。