トップへ戻るニュースフォーラムFLASH-ML 過去ログBak@Flaダウンロードよくある質問と答
ログイン
ユーザ名:

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   迷える子羊の部屋【初心者専用】
     gotoAndPlay
投稿するにはまず登録を

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
dive-g
Åê¹ÆNo.38028
投稿日時: 2008-3-14 17:40
新米
居住地:
投稿: 4
使用環境:
WindowsXP, Flash CS3 Professional
gotoAndPlay
はじめて投稿させていただきます

┌_root
├MC_A---ラベル"A-2"---ボタン
│ 

└MC_B---ラベル"B-5"

上記のような構成なのですが
MC_A内のラベルA-2にあるボタンを押すとMC_BのラベルB-5に
移動して再生させたい場合なのですが

on(press)
{
_root.MC_B.gotoAndPlay("B-5");
}

とボタンに記述しましたが動きません;
こういった指定はできないのでしょうか。

MC_A,MC_Bのどちらもインスタンス名はMC_A,MC_Bです。
ちなみにボタンはボタンシンボルではなく
ムービークリップです。
ginga
Åê¹ÆNo.38031
投稿日時: 2008-3-14 20:36
新米
居住地:
投稿: 10
使用環境:
WinXP,Flash CS3
Re: gotoAndPlay
引用:
dive-gさんは書きました:
MC_A内のラベルA-2にあるボタンを押すとMC_BのラベルB-5に
移動して再生させたい場合なのですが


ラベルとはなんのことでしょうか?
フレームラベルのことでしょうか?

いずれにしても、お書きになった内容を、こちらで試すと
正しく動作します。
提供された情報が正しくないか、提供されていない情報が
あり、その部分に問題があるかと思われます。
dive-g
Åê¹ÆNo.38033
投稿日時: 2008-3-14 21:04
新米
居住地:
投稿: 4
使用環境:
WindowsXP, Flash CS3 Professional
Re: gotoAndPlay
失礼致しました。
MC_A,MC_Bともにフレームラベル名でこれと同名のムービークリップインスタンスを_root上に配置しています。

MC_A内でさらにボタン用のムービークリップを配置しています。


_root:
ラベル用レイヤー |intro |MC_B |MC_A |
MC用レイヤー   |_____|MC_B |MC_A |

MC_B
ラベル用レイヤー |intro |B-1 |B-2 |B-3 |B-4 |B-5 |
MC用レイヤー   |___|___|___|___|___|B-5MC |

MC_A
ラベル用レイヤー |intro |A-1 |A-2 |
MC用レイヤー   |______|______|ボタンMC |
こういったタイムラインです。


この場合
on(press){
_root.gotoAndPlay("MC_B");
}

これは作動します。
MC_Bの初めのintroを再生します、が、

on(press){
_root.MC_B.gotoAndPlay("B-5");
}


上記は動きません。

これでご理解いただけるでしょうか。
それともこのようにして動作した、ということでしょうか。

ginga
Åê¹ÆNo.38034
投稿日時: 2008-3-14 22:15
新米
居住地:
投稿: 10
使用環境:
WinXP,Flash CS3
Re: gotoAndPlay
引用:
dive-gさんは書きました:
[中略]

これでご理解いただけるでしょうか。
それともこのようにして動作した、ということでしょうか。

この作りでは、動作しません。
一方のムービークリックから、他方のムービークリップのメソッドを呼び出すためには、ふたつのムービークリップが同時に存在している必要があります。

引用:
on(press){
 _root.gotoAndPlay("MC_B");
}

これは作動します。


これが動作するのは、MC_AのボタンMCが、_rootのメソッドを呼び出しているからです。
ふたつは同時に存在しています。しかし、

引用:
on(press){
 _root.MC_B.gotoAndPlay("B-5");
}

上記は動きません。

では、MC_AのボタンMCから、同時に存在しないMC_Bのメソッドを呼び出しているので動作しません。

dive-g
Åê¹ÆNo.38035
投稿日時: 2008-3-14 23:16
新米
居住地:
投稿: 4
使用環境:
WindowsXP, Flash CS3 Professional
Re: gotoAndPlay
ありがとうございます!
なるほどそういうことでしたか。
これでずいぶんと悩みましたが諦めがつきそうです。
ちなみになんですが同時に存在していてないというのは
タイムライン上に。ということでしょうか。
例えば同じタイムライン上に例として10から20フレームの
10フレームの間にMC_AレイヤーとMC_Bレイヤーが存在していれば可能ということなのでしょうか。
ginga
Åê¹ÆNo.38036
投稿日時: 2008-3-14 23:48
新米
居住地:
投稿: 10
使用環境:
WinXP,Flash CS3
Re: gotoAndPlay
引用:
dive-gさんは書きました:
ありがとうございます!
なるほどそういうことでしたか。
これでずいぶんと悩みましたが諦めがつきそうです。

あきらめる必要はないでしょう。考え方を変えて、別の方法を探せばすむ問題です。

引用:
ちなみになんですが同時に存在していてないというのは
タイムライン上に。ということでしょうか。

そうです。今回の場合は、_rootのタイムライン上の同じフレームに、ふたつのムービークリップが同時に存在していません。

引用:
例えば同じタイムライン上に例として10から20フレームの
10フレームの間にMC_AレイヤーとMC_Bレイヤーが存在していれば可能ということなのでしょうか。

レイヤーはFlashオーサリングで使用されるオブジェクトの重なり順を制御するための仕組みです。
レイヤーではなく、ムービークリップインスタンスが配置されていることが条件です。
例では、_rootの10?20フレームに、ムービークリップMC_Aと、ムービークリップMC_Bが配置されていれば、メソッドを呼び出すことは可能です。
dive-g
Åê¹ÆNo.38037
投稿日時: 2008-3-15 0:02
新米
居住地:
投稿: 4
使用環境:
WindowsXP, Flash CS3 Professional
Re: gotoAndPlay
あ。諦めるというのは違う方法を探してこの方法は諦めるということです。
教えていただけなければずっと模索しつづけていたところだったので。

これで違う方法へと移行できます。ありがとうございました!
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ

投稿するにはまず登録を
 
Copyright (C) 2003 FLASH-japan. All rights reserved.
Powered by Xoops