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

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   コーダーズルーム【スクリプト系】
     読み込んだSWFのボタンの無効…
投稿するにはまず登録を

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
i_anak
Åê¹ÆNo.10991
投稿日時: 2004-9-20 23:56
新米
居住地: 神奈川県
投稿: 2
使用環境:
WinXP,Flash MX2004
読み込んだSWFのボタンの無効…
はじめまして。

FLASHでプレゼン用のムービーを作っています。
# パ○ーポイントのような…

全部で8シーンあり、【ENTER】または【→】で次のシーンへ
【Backspace】【←】で前のシーンへ移動します。

加えてそれぞれのシーンに1から8までのKEYを割り当ててそれでも移動する仕様です。

【End】でムービーが終了します。

※※※ボタンに以下の記述をしてあります。

on(press){
_root.gotoAndPlay("Scene_02")
}
on(keyPress "<Enter>"){
_root.gotoAndPlay("Scene_02")
}
on(keyPress "<RIGHT>"){
_root.gotoAndPlay("Scene_02")
}

※※※

on (keyPress "<End>") {
fscommand("quit", "");
}
on (keyPress "1") {
this.gotoAndPlay("Scene_top");
}

※※※

内容が同じで8シーンの進行順の組み合わせを変えた4つのswfを用意して、別にメニュー形式のSWFを作ってそれに読み込ませました。

※※※

stop();
this.main.loadMovie("Mc09020.swf");

※※※

メニューのSWFに読み込んで表示されたそれぞれのSWFで、数字KEYでの移動と【End】での終了は元の通り作動するのですが、【ENTER】【→】【Backspace】【←】が効かなくなってしまいました。

どなたか解決方法ご教授下さい。

よろしくお願いします。
野中文雄
Åê¹ÆNo.10992
投稿日時: 2004-9-21 0:48
ちょんまげら
居住地: 東京
投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1)
Re: 読み込んだSWFのボタンの無効…
ムービーの構造(各インスタンスのパスなど)やフレームラベルの設定場所といった、肝心な情報が抜けています。問題のご説明は、「第三者がその内容を手元で再現できる程度に、具体的にお書きいただく必要があります」。→【第三者から見てわからない

まず、「8シーン」というのは、メインタイムラインに設定する[シーン]([挿入]メニュー)を指すのですか? それとも、特定範囲のフレームを「シーン」と表現しているだけですか?

後者の場合、独自の用語は回答者を混乱させますので、使用を控えましょう。前者の場合、"Scene_02"や"Scene_top"は、[シーン]の名前ですか? おそらくそれでは引用のスクリプトが動作しないと思われますので、「フレームラベル」を設定されたものと「推測」します。

フレーム移動を問題とされている訳ですから、移動先フレームの情報はきわめて重要です。
引用:
i_anakさんは書きました:
全部で8シーンあり、【ENTER】または【→】で次のシーンへ
【Backspace】【←】で前のシーンへ移動します。

加えてそれぞれのシーンに1から8までのKEYを割り当ててそれでも移動する仕様です。

以下の「ボタン」は、Buttonインスタンスだと「推測」します(MX以降は、MovieClipインスタンスにも同様のスクリプトが記述できます)。しかし、どこに配置されたのかが明記されていません。

このムービーが、外部SWFとしてロードするまでは動作したということから、以下のように「推理」します。

(1)"Scene_02"や"Scene_top"は、メインのタイムラインに設定されたフレームラベルである。
(2)各ボタンは、Buttonインスタンスで、メインタイムラインに配置されている。

この推理が正しければ、MovieClip.gotoAndPlay()メソッドのターゲット指定に問題があります。外部SWFをMovieClipインスタンスにロードする場合、読込まれる外部SWFの中では、絶対パスは使用しない方がよいでしょう(なお、スレッド「actionScriptのみで制御してある外部swf読込み」参照)。
引用:
※※※ボタンに以下の記述をしてあります。
// ...[前略]...
on(keyPress "<Enter>"){
	_root.gotoAndPlay("Scene_02")
}
on(keyPress "<RIGHT>"){
	_root.gotoAndPlay("Scene_02")
}
// ...[中略]...
on (keyPress "1") {
	this.gotoAndPlay("Scene_top");
}

以下のスクリプトについても、どこのタイムライン(MovieClip)に記述したフレームアクションかのご説明がありません。今回このスクリプトの重要性は結果として小さそうですが、記述したタイムラインとアクションの種類(フレーム/MovieClip/Button)は基本的に必須情報です。
引用:
内容が同じで8シーンの進行順の組み合わせを変えた4つのswfを用意して、別にメニュー形式のSWFを作ってそれに読み込ませました。
stop();
this.main.loadMovie("Mc09020.swf");

メニューのSWFに読み込んで表示されたそれぞれのSWFで、数字KEYでの移動と【End】での終了は元の通り作動するのですが、【ENTER】【→】【Backspace】【←】が効かなくなってしまいました。


----------------
 

i_anak
Åê¹ÆNo.11010
投稿日時: 2004-9-21 20:51
新米
居住地: 神奈川県
投稿: 2
使用環境:
WinXP,Flash MX2004
Re: 読み込んだSWFのボタンの無効…
野中さん、質問の書き方が適切でなくて申し訳ありませんでした。

引用:

野中文雄さんは書きました:

まず、「8シーン」というのは、メインタイムラインに設定する[シーン]([挿入]メニュー)を指すのですか? それとも、特定範囲のフレームを「シーン」と表現しているだけですか?

前者の場合、"Scene_02"や"Scene_top"は、[シーン]の名前ですか? おそらくそれでは引用のスクリプトが動作しないと思われますので、「フレームラベル」を設定されたものと「推測」します。


前者です。
シーンを8つ挿入して、そのメインタイムラインの一番目のフレームにそれぞれ"Scene_top","Scene_02","Scene_03"..."Scene_08"というようなラベルを設定しました。

シーン共通のデザインのフッターを作り、そこへ←→のようなボタンを置き、←をマウスでクリックすると前のシーンへ、→をクリックすると次のシーンへ移行するようにしました。

合わせてキーボードの方向KEY【←】と【Backspace】、【→】【Enter】を押しても同様の動きを設定しました。

"Scene_02"の←ボタンに記述したスクリプトは

※※※※※

on (press) {
_root.gotoAndplay("Scene_top");
}
on (keyPress "<Backspace>") {
_root.gotoAndplay("Scene_top");
}
on (keyPress "<Left>") {
_root.gotoAndplay("Scene_top");
}

※※※※※

→ボタンに記述したスクリプトは

※※※※※

on(press){
Play();
}
on(keyPress "<Enter>"){
Play();
}
on(keyPress "<RIGHT>"){
Play();
}

※※※※※

以上です。

それとは別に、それぞれのシーンに透明ボタンを設置し、以下のスクリプトを記述しました。

※※※※※

on (keyPress "<End>") {
fscommand("quit", "");
}
on (keyPress "1") {
this.gotoAndPlay("Scene_top");
}



}
on (keyPress "8") {
this.gotoAndPlay("Scene_08");
}

※※※

引用:


このムービーが、外部SWFとしてロードするまでは動作したということから、以下のように「推理」します。

(1)"Scene_02"や"Scene_top"は、メインのタイムラインに設定されたフレームラベルである。
(2)各ボタンは、Buttonインスタンスで、メインタイムラインに配置されている。

この推理が正しければ、MovieClip.gotoAndPlay()メソッドのターゲット指定に問題があります。外部SWFをMovieClipインスタンスにロードする場合、読込まれる外部SWFの中では、絶対パスは使用しない方がよいでしょう(なお、スレッド「actionScriptのみで制御してある外部swf読込み」参照)。


ご指摘いただいた通り、ターゲット指定がデタラメでした。
無事解決いたしました。

どうもありがとうございました。


スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ

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