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

メインのタイムライン上に動的に配置したMovieClip(a_mcとb_mcの2つ)がある場合、
a_mc内に配置したボタンからメインのタイムラインのラベル移動(gotoAndPlay)をさせたいのですが、このような操作は実現可能なのでしょうか。
また、a_mcからb_mcの表示位置の変更(b_mc.xやb_mc.alphaなど)を変更することはできるのでしょうか。

ちなみにメインのタイムライン上で
var a_mc:a_movieclip = new a_movieclip();
var b_mc:b_movieclip = new b_movieclip();

addChild(a_mc);
addChild(b_mc);
としてMovieClipを作成しております。

開発環境は
VISTA
FlashCS3
ActionScript3
です。

いろいろと調べてみたのですが、
http://www.chimanaco.net/blog/archives/200811051 …
が使えそうなのでしょうか…

大変申し訳ありませんが、ご回答をお願いいたします。

A 回答 (1件)

普通にできますよ。



例えば メインタイムライン の複数あるフレームのうち任意のフレームに 「AAA」 というラベル名を付けておいたとして,
例えば メインタイムライン の フレーム1 などに次のように書いておくのですよね。

------------------------------------------------
stop();

var a_mc:a_movieclip = new a_movieclip();
var b_mc:b_movieclip = new b_movieclip();

addChild(a_mc);
addChild(b_mc);

a_mc.x = 50;
a_mc.y = 20;
b_mc.x = 200;
b_mc.y = 20;
------------------------------------------------


それで,
シンボルプロパティで 「a_movieclip」 というクラス名を付けたムービークリップの中にボタンを2つ用意して,
1つには「my_btn1」,もう1つには「my_btn2」というインスタンス名を付けておきます。

その「a_movieclip」 というクラス名を付けたムービークリップのタイムラインに
普通に次のように書けば難なく動作しましたよ。


-------------------------------------------------------------------
// my_btn1 にリスナーオブジェクトを登録(CLICKイベント, goFrameを実行)
my_btn1.addEventListener(MouseEvent.CLICK, goFrame);

// ユーザ定義関数 goFrame を定義
function goFrame(evt:MouseEvent):void {
MovieClip(root).gotoAndPlay("AAA");
}

// my_btn2 にリスナーオブジェクトを登録(CLICKイベント, tellB_mcを実行)
my_btn2.addEventListener(MouseEvent.CLICK, tellB_mc);

// ユーザ定義関数 tellB_mc を定義
function tellB_mc(evt:MouseEvent):void {
MovieClip(root).b_mc.x+=20;
MovieClip(root).b_mc.alpha-=0.2;
}
-------------------------------------------------------------------
    • good
    • 0
この回答へのお礼

BlurFiltan様

ご回答ありがとうございます。
サンプルプログラムを参考に手を加えましたら
実現したかったことができました。
『MovieClip(root).』がポイントだったんですね。
これについてもっと詳しく調べてみます。

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

お礼日時:2009/01/24 20:29

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