• ベストアンサー

リンゲージの設定

こんにちは。 リンゲージの設定の仕方について教えてください。 設定したいシンボルを選択し、「ActionScriptに書き出し」と「最初のフレームに書き出し」にチェックを入れたあと、アクションスクリプトは何を選択した状態で、どの階層で設定すればよいのか教えて下さい! 現在作っているのはムービークリップの絵があり、それをリンゲージで複数つくり、ステージ上でマウスに反応し動くものを作っています。スクリプト初心者です。宜しくお願い致します。

  • Flash
  • 回答数2
  • ありがとう数2

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

  • ベストアンサー
noname#35109
noname#35109
回答No.1

回答が遅れましたが,もう解決済みでしょうか。 リンケージ使い方よりその後の方が,具体的に良くわからないので答えにくいです。 かと言って,具体的に質問してくださっても回答できるかどうかは全く自信がありませんが… 基本的に音(Sound)と同じです。 音の場合は, -例- mySound.attachSound("idName") で呼び出して再生します。それと同じで、ムービークリップの場合は -例- myMovieClip.attachMovie("calif", "california", 10); で呼び出します。  MC名.attachMovie("識別子", "新しいMC名", 深度); です。 リンケージで,MCの識別子を AAA1 としたオブジェクトがあったとします。 そのオブジェクトを BBB1 という名前(インスタンス名)にして, on (press) で _root に呼び出して,on (release)で消去するボタンのスクリプトは以下のようになります。 ---例1------------------------------- on (press) { _root.attachMovie("AAA1", "BBB1", 1); _root.BBB1._x = 50; _root.BBB1._y = 100; } on (release) { removeMovieClip(_root.BBB1); } ------------------------------------- ---例1の説明------------------------- on (press) {    //_rootにリンケージの識別子AAA1を,    //BBB1というインスタンス名で,深度1に呼び出す。    _root.attachMovie("AAA1", "BBB1", 1);    //そのBBB1の x座標を50に,y座標を100にセット    _root.BBB1._x = 50;    _root.BBB1._y = 100; } on (release) {    //BBB1を消し去る    removeMovieClip(_root.BBB1); } ------------------------------------- こんな感じでしょうか。 ステージに呼び出してからは,全て新しいインスタンス名(BBB1など)で操作できます。 ボタンではなく, タイムラインの1フレーム目のフレームに下のように書いても良いです。 ---例2------------------------------ _root.attachMovie("AAA1", "BBB1", 1); BBB1.onEnterFrame = function() { BBB1._x = _root._xmouse; BBB1._y = _root._ymouse; }; ------------------------------------ この場合だと,ステージ上にボタンやムービークリップを配置しなくても良いです。 また, 下記参考URLにも,リンケージから呼び出したオブジェクトをマウス追従させるサンプルを置いてくれています。 参考URLの場合は,ライブラリ内のオブジェクトの1フレーム目にすでにスクリプトがしこまれているので, ステージ上はシンプルなスクリプトだけで済んでいます。

参考URL:
http://www.condo.fromc.jp/flash/memo/Chase/Chase04.html
2pola4
質問者

補足

お返事ありがとうございます。 質問の仕方が悪くすみませんでした。 ですが上記回答で半分は解決しました! 教えていただいた例1はできたのですが、例2がまさに聞きたかったことです。 シンボルを新規に作成し、(リンゲージの識別子をつけて)上記例2のスクリプトをシーン1のフレームにペーストしたのですが、例1と同じように動きません。例2だとステージ上にボタンやムービークリップを配置しなくても良いのですよね? もし馬鹿な質問でしたらすみません。なぜ例2が上手く動かないのか教えてください!宜しくお願いします!

その他の回答 (1)

noname#35109
noname#35109
回答No.2

#1です。 >> 上記例2のスクリプトをシーン1のフレームに >> ペーストしたのですが、 >> 例1と同じように動きません。 えーと,整理しましょう。 例1は動きません。 ボタンを用意して,そのボタンを押すと,BBB1が現れて,放すと消えるというだけのものです。 出した以上,消す必要があるかもしれないと思い,出し入れのスクリプトを1つで済ませるためにはボタンがちょうど良かったので,ボタンを例に "出し入れ" だけを書いたのです。 >> 例2だとステージ上にボタンや >> ムービークリップを配置しなくても良いのですよね? そうですね。 ステージ上に,ムービークリップも必要なければ,ボタンも必要ないです。 ついでに,ライブラリでリンケージにしたオブジェクトにもスクリプトは必要ないです(あったら逆に困ります)。 >> なぜ例2が上手く動かないのか教えてください! よくわかりませんね。 コピーミスかと思い,再びコピーして,Flashの1フレーム目のスクリプトとして貼り付けましたが,無事動きました。 メインアニメーション(_root)の1フレーム目に書くのですよ。ムービークリップの1フレーム目に書くのではなくて。 -------------------------------------- _root.attachMovie("AAA1", "BBB1", 1); _root.BBB1.onEnterFrame = function() { _root.BBB1._x = _root._xmouse; _root.BBB1._y = _root._ymouse; }; -------------------------------------- こうしたら動きますか? _rootの1フレーム目のフレームスクリプトは_rootなので_rootを付ける必要は全くないのですが,付けてみました。 ちなみに, リンケージの識別子が,「AAA1」の場合ですよ。 それと,動くというより,マウスにピッタリひっつく感じになりますよ。

2pola4
質問者

お礼

回答ありがとうございます。 できました!それと原因がわかったような・・・・。 やったことは出来なかったときと今と同じだったのですが、設定対象をリンゲージしたオブジェクトのシンボルの種類「ボタン」に対して行っていたからだと思います。 無事動きました。いつも説明が下手ですみません。次回あればもっと気をつけて書きます。 丁寧に教えていただき、ありがとうございました。

関連するQ&A

  • テキスト入力と同じ名前のムービークリップを配置したい

    FLASH8を使っています。 動物のムービークリップがいくつかあり、シンボルプロパティで名前と識別子を同じものに設定しました。例えば「うま」というようにひらがなで同じ名前が入力されています。 リンケージの「ActionScriptに書き出し」と「最初のフレームに書き出し」にはチェックが入っています。 ステージ上のテキストフィールドに「うま」と入力し、ボタンをクリックすると同じ名前のムービークリップシンボルがステージ上に配置されるようにしたいのですが、どのように書けばいいでしょうか? 宜しくお願い致します。

    • ベストアンサー
    • Flash
  • パスの書き方 AS3

    シーン1にムービークリップ(インスタンス名mcop)を配置し、mcopの1フレームにムービークリップ(mc)とobject1(グラフィック)を配置、mcの1フレーム目にアクションスクリプト(ActionScript3)を配置します。 アクションスクリプトからobject1を非表示にする指示を出したいのですがうまくできません。 パスの書き方をアドバイスください。(同階層ではうまく非表示に出来ます。) root.mcop.object1.visible = false;  こんな感じでやってみましたがだめでした。

    • ベストアンサー
    • Flash
  • Flashでのアルファ値の操作

    こんばんは。 実はflashのaction scriptでのシンボルのアルファ値の変更でどうしても解決できないトラブルがあり、ご質問させて頂きました。 今ムービーの一部で以下のような流れのaction scriptがあります。 ・ムービークリップの1フレーム目  まずフレームアクションでstopしておき、画像をシンボル化したもののアルファ値をonClipEventのenterFrameで+していくフェードイン処理。 アルファが100以上になったらplayする。 ・ 〃 2フレーム目  ムービークリップのアルファ値は扱わずにgetTimer()を使った待機処理 ・ 〃 3フレーム目  1フレームの逆のフェードアウト処理 この動作をaction scriptで行わせた場合に、 アルファ値が100になった瞬間シンボルが1ピクセルか2ピクセル位「縮む」という症状が 現れてしまいました。 つまりフェードインが終わった瞬間画像の横幅が1,2ピクセル程度縮み、待機が終わり再びフェードアウトに入る瞬間縮んだ1、2ピクセルが戻り(広がり)、フェードアウトが始まるという症状です。 もちろん2フレーム目のシンボルのwidthが小さい 等ではなく、actionscriptでこの処理を行った場合のみにこの症状が現れてしまいます。 今までは無理やりモーショントゥイーンで作っていましたがどうしてもこのトラブルを解決したく、ご質問させて頂きました。ご教授よろしくお願い致します。

    • ベストアンサー
    • CSS
  • FLASH MXでムービークリップをボタンではなくムービークリップ自体で操作できますか?

    いまだにFLASH MXを使っています。 やりたいことはムービークリップを作成し、マウスがそれに触ると停止し、離れると動く、といった感じにしたいのですが、どうにも上手くいきません。 他にボタンを作成しそこにアクションを設定すれば上手く動くのですが ボタンではなく自分自身で操作できないかと思っています。 ボタンのシンボルをムービークリップ(movie)化 それをステージに配置しアクションを設定 アクションイメージ on (rollOver) { movie.stop(); } on (rollOut) { movie.start(); }

  • Flashでボタンをつくっているのですが、actionscriptをつ

    Flashでボタンをつくっているのですが、actionscriptをつかってボタンをクリックさせたいのですが、アクションパネルのところに「現在の選択範囲にアクションを割り当てることはできません。」と表示されてしまいます。 参考書に附属されているflaをみたところ、Actionscript1.0、2.0となっているのですが、作成しているのはActionscript3.0で作っています。 ====== on (release) { /*↑ボタンが押されて離されたら*/ _parent.gotoAndPlay("about"); /*↑「about」ラベルへ移動*/ } ====== このようなscriptをいれたいのですが、うまくいきません。 ムービークリップでボタンを作るまではできました。その後、何かが抜けているのかして上記のようなエラーがでます。 flash初心者のため、どういう風に書いて質問させていただいたらよいのかわからないのですが、参考flaと見比べたときに「シンボル定義」のなかにあるムービークリップがひとつたりませんでした。(このムービークリップは「navigation」というものですのでそれがありません。) 質問するにはあまりにも情報が少ないかもわかりませんが、何卒ご教授いただけると大変助かります。 宜しくお願い致します。

    • ベストアンサー
    • Flash
  • Flash フレームを指定してムービークリップ再生

    ActionScript超初心者です。 よろしくお願いします。 ステージ上にボタン「A」「B」「C」を配置、 ボタン脇のスペースにムービークリップを配置、各ボタンで切り替え再生させたいと思っています。 2フレーム目に簡単なアニメーションのムービークリップ「animA」を、 3フレーム目に同様の「animB」4フレーム目に「animC」を配置し、 各ボタンon (release)で各ムービークリップの再生をしたいのですが うまくいきません。 どこにどのようなスクリプトを書けば良いか教えていただけないでしょうか。 よろしくお願いします。

    • ベストアンサー
    • Flash
  • flashの基本的なことが理解出来ません。

    windowsXPで、FlashMXを始めたばかりの初心者です。 ActionScriptを始めようと、何冊かの参考書を読み始めましたが、 一番最初に書かれている、フレーム、ムービークリップ、ボタンアクションの、 特に、フレームとムービークリップのアクションの違いがよく解りません。 どういう時に、フレームアクションを書くのか・・・良く理解出来ません。 何かに例えて、教えていただけませんでしょうか? 宜しくお願いします。

    • ベストアンサー
    • Flash
  • イージング&アルファが上手くいかない

    FlashMXで「再生」ではちゃんとイージングとアルファができているのに、ムービープレビューでは上手く表示できません。 ボタンを押すと、アクションスクリプトで次のフレームに飛び、そこからイージングとアルファで施された文字(ムービークリップシンボル)が動くと言うものなのですが…。何がいけないのかお分かりの方はお教え下さい。

  • マスクレイヤー配下でのアクションに関して

    以前も同様の質問をしましたが、再度お伺いします。 マスクレイヤー配下のレイヤーにムービークリップを作成しました。 そのムービークリップは複数のムービークリップ(サムネイル画像)を一つにしたものです。 そのムービークリップ内のレイヤーにフレームスクリプトを記述しました。 ・ムービークリップを「aa」と命名する。 ・その配下の各ムービークリップを「a1」,「a2」・・・とする。 aa.onPress = function() { ステートメント } 上記「ステートメント」部に「シーン1(level0)の10フレームにジャンプする」と言うScriptを記述するにはどうしたら宜しいでしょうか?。 _root.gotoandplay(10) ; 上記記述では駄目でした。 ちなみに、「シーン1(level0)」のフレームアクションにて aa.a1.onPress = function() { gotoandplay(10) ; } これはOKでした。(このような修飾の仕方は正しいですか?。) ムービーシンボルの中のフレームアクションでの記述方法を教えて頂きたく。 どうぞ宜しくお願い致します。

  • マウスを乗せるとランダムに画像が舞い上がる

    ある画像(たとえば★とします)にマウスを乗せると しゃぼんだまを飛ばしたようにランダムにある画像(★)から舞い上がると言うような物を作りたいと思っています。 マウスをはずすと舞い上がるものも消える(止まる)ようにしたいです。 ボタンのオーバーフレームにムービーを作ってみたのですが、動きがぎこちなく納得がいきません。 アクションスクリプトを使うとできるのかなと思いましたがボタンアクションかムービークリップアクションにすればよいのか分かりません。 このときにできればマウスポインターが指の形に変化しないようにしたいとも思っています。 よろしくお願いします。

専門家に質問してみよう