少し前に同様の質問をさせて頂きましたが、他の質問を含んでおり、そちらの方が中心となって話が進行しているので、新たに質問させて頂きます。
サムネイル画像が格納されているフォルダーが複数あります。メニュー画面(ページ)では、複数のフォルダーのうちサムネイル表示したいフォルダーを指定します。
それを受けてサムネイル表示画面(ページ)では、指定されたフォルダー内のJPEGファイルを読み込んで表示すると言う仕組みを構築したいと思っています。
メニュー画面からサムネイル表示画面にパラメーターとして受け渡しの方法がわかりません。
宜しくご教授ください。
(パラメーターは、FLAG,コンスタント(文字列)何でも構いません。)
No.5ベストアンサー
- 回答日時:
Flash MX からはムービークリップをボタンと同様に使えるようになり、on アクションも利用できるようになりました。
( Flash 5 では、ムービークリップで on を使うとシンタックスエラーになっていました)
原因は不明(単に、私が知らないだけかもしれません ^^;)なのですが、trace アクションなどで確認すると、press イベントが検出されていて on アクション自体は実行されているのは確かなのに、一部のスクリプトが動作したりしなかったりと、挙動不審な場合があるようです。
しかし、違うファイルを作って試してみると、全く同じスクリプトでも、何の問題もなく動作することもあります。
私自身もこの手の怪現象は何回か見ているのですが、未だに原因がよく分かりません。
ちなみに、以前、このような質問で回答したこともありますので、ご参考までに。
・ムービークリッププロパティの変更
http://okweb.jp/kotaeru.php3?q=808667
on( rollOver )では反応しない(イベント自体は検出されている)が、MovieClip.onRollOver で定義した場合は反応します。
ところが、違うファイルでは on( rollOver ) の中でも、_visible プロパティで表示・非表示が制御できる(スクリプトが正常に動く)という、不思議な現象でした。
さしあたって、MovieClip.onPress で試してみるか、どうしてもダメならボタンシンボルを利用してはいかがでしょうか。
例えば、ムービークリップのインスタンス名が clip なら、
clip.onPress = function ()
{
gotoAndStop( "s2" , 1 );
};
で、いかがでしょう。このスクリプトは、メインのタイムラインに設定してください。
No.6
- 回答日時:
こんばんは。
下記の部分だけですが。> ボタンアクションに以下のScriptを記述しました。
>
> on (press) {
> gotoAndstop("s2", 1) ;
> }
>
> 結果はOKでした。
>
> 次に、描いた大きな矩形をムービークリップにして以下のScriptを記述しました。
>
> on (press) {
> gotoAndstop("s2", 1) ;
> }
>
> 全く同じScriptなのですが、無反応です。
MXからはムービークリップインスタンスにもonアクションを使用できるようになったのはDPEさまがご指摘の通りです。
が、ボタンインスタンスとムービークリップインスタンスで同じスクリプトが必ずしも動作するわけではありません。
これはターゲットパス(this参照やthisを省略した場合のデフォルト参照)が異なるからです。
ボタンインスタンス上で
「gotoAndStop( "s2" , 1 )」
と記述した場合にはボタンインスタンスが配置されているタイムライン上でgotoAndStopを実行します。
が、ムービークリップインスタンス上で
「gotoAndStop( "s2" , 1 )」
と記述した場合にはそのインスタンスのタイムラインでgotoAndStopを実行しようとします(これはonアクションでもonClipEventアクションでも同様です)。
以上をご参考に正しい指定を考えてみてください。
No.4
- 回答日時:
#2です。
シーンの移動は簡単ですよ。おなじみの gotoAndPlay を使います。
gotoAndPlay( "シーン名" , フレーム番号 );
※フレームを番号ではなくフレームラベルで指定する時は、" "でくくって文字列にします
シーンやフレームを移動してから、そこで停止させる gotoAndStop もあります。
もちろん、シーン1から2へ行くことも、シーン2から1へ戻ることもできます。
実は、gotoAndPlay / Stop は2種類あります。このようにシーンを移動できるもの( Flash Player 2 から使用されていて、歴史も古い)と、MovieClip オブジェクトのメソッドの1つである、引数がフレームの指定しかない MovieClip.gotoAndPlay / Stop(こちらは Flash Player 5 以降で使用可能)です。
シーンは _root だけの概念で、ムービークリップシンボルにはありません。ですから、MovieClip オブジェクトのメソッドである MovieClip.gotoAndPlay / Stop には、シーンの指定がないのです。
シーンを指定できる gotoAndPlay / Stop は、メインのタイムライン、およびステージ上にあるボタンやムービークリップでのオブジェクトアクション(要するに、対象となるタイムラインが _root である場合)でのみ、使用可能です。ムービークリップのタイムラインや、入れ子になっているボタン・ムービークリップでは使用できません。
指定したシーンやフレームが存在しない場合は、最初のシーンやフレームに戻ってしまうことがあります。
Flash のデフォルトのシーン名は、”シーン 1 ”というように、シーンと番号の間に半角のスペースが入っていますので、ご注意ください。また、半角・全角、大文字・小文字も区別されますから、この間違いにもご注意を。予め、分かりやすい名前に変更しておくといいでしょう。
シーンが複数ある場合、何も指示しなければ、シーン1→2→・・・と、自動的に再生されていってしまいます。
シーン1で、例えばボタンが押されるまで待ちたい場合は、フレームに stop(); アクションを入れてタイムラインを止め、ボタンが押された時に、gotoAndPlay または gotoAndStop でシーン2へ移動するようにします。
シーンの概念は、テレビドラマや映画などで、いわゆる”シーン(場面)”ごとに制作していくような感覚で考えると、分かりやすいかと思います。
ドキュメントのサイズや背景色・フレームレート等は、どのシーンでも同じになります。シーンごとに違うサイズ等を設定することはできません。
編集するシーンを切り替える時は、ステージの右上に並んだ2つのアイコンの、左側のアイコン(映画監督が持っている、キュー出し?のようなもののデザイン)をクリックし、編集するシーンを選択します。
「ウィンドウ」→「デザインパネル」→「シーン」で、シーンを管理するパネルが開きます。このパネルでは、編集するシーンの切り替えのほか、シーンの追加・削除・複製・名前の変更・再生順序の入れ替えができます。
詳しい操作については、ヘルプの「 Flash ユーザーガイド」→「 Flash ドキュメントの操作」→「シーンの操作」をご参照ください。
ムービーを作る目的や、ページのデザインと相談になりますが・・・
例えば商業目的のページで、メニューに「パソコン」「デジカメ」「携帯電話」のカテゴリーがあるとします。
「パソコン」が選択された時は「パソコン」の画像と説明を、「デジカメ」が選択された時は「デジカメ」の画像と説明を・・・というように、選択されたカテゴリーの画像のサムネイルを表示し、なおかつ HTML で説明文もカテゴリーごとに内容を変えたい場合は、メニューとサムネイルのムービーは2つに分けざるをえなくなるでしょう。
この場合は、違う HTML ファイルにある異なるムービー同士のやりとりになりますから、パラメータの受け渡しは難しくなります。
そうではなく、例えばフォトアルバムや作品の展示のように、HTML の本文はどのフォルダが選択された時も同じで、ムービーの中で表示する絵だけ入れ替わればいいというのであれば、ムービーは1つで充分です。
同じムービーの中でのやりとりになりますので、パラメータの受け渡しも簡単です。
また、いっそのことメニューとサムネイル画面を一体化してしまうのも1つの手です。
メニュー部分とサムネイル画面をそれぞれムービークリップにし、全てを1つのフレームに配置して、ボタンでカテゴリーが切り替わるたびにサムネイル画面も切り替わるようにする、といったところです。
この場合はシーンの移動もなくなり、同じフレームに並んだムービークリップ同士の制御となります。
作る目的とデザインの都合で、方法も変わります。
発想を柔軟にして、いろいろ試してみてください。
この回答への補足
試しに、
シーン1に大きな矩形を描き、シーン2の円形を描きました。
シーン1のボタンシンボルを配置し、ボタンの押下をトリガーにしてシーンが移動するようにしました。
ボタンアクションに以下のScriptを記述しました。
on (press) {
gotoAndstop("s2", 1) ;
}
結果はOKでした。
次に、描いた大きな矩形をムービークリップにして以下のScriptを記述しました。
on (press) {
gotoAndstop("s2", 1) ;
}
全く同じScriptなのですが、無反応です。
ちなみに、
on (press) {
getURL("./xxx_test.html");
}
このようなScriptは正しく動きます。
何故なんでしょうか?。
いつも適切な回答を頂き、感謝しております。
メニュー・サブメニュー・サムネイル表示と3つのHTMLファイルに(特に意味無く)分けていたのを、一つにして作成してみます。
メニューに1シーン、サブメニューに複数のシーン、サムネイル表示に1シーン、と言った具合にしてみます。
あとは、先日教えて頂いたマスクレイヤー配下に外部から読込んだJPEGを配置する事が解決すれば良いのですが。
No.3
- 回答日時:
なるほど。
それならばLocalConnectionを使えば実現できます。
今試してみましたが、少なくともローカルでは成功しました。
ただしFlash MX、Flash MX 2004しか対応してません。
参考になりそうなURLを挙げておきます。
http://f-site.org/archives/000252.html
あと、この本は役に立つのでお勧めです。
http://www.esbooks.co.jp/books/detail?accd=31016 …
頑張ってください。
No.2
- 回答日時:
ふと思うのですが。
わざわざ2つの swf ファイルに分けなくても、メニューとサムネイル画面を1つのムービーにすれば、パラメータの受け渡しは簡単です。
例えば、シーン1をメニュー画面、シーン2をサムネイル画面とします。
シーン1のフレームアクションで、変数を1つ用意します。ここでは仮に、folder という名前だとします。
メニューはおそらく、ボタンで選択するようなタイプではないかと思います。ボタンが押された時、対応する値なりフォルダ名なりを変数 folder に代入し、シーン2へ移動します。
シーン2でも、シーン1にあった変数は利用できます。
画像を読み込む時は、
loadMovie( _root.folder + "/image01.jpg" );
といった具合に、フォルダ名を保持する変数を利用してファイル名を指定するだけです。
メニュー部分を HTML のフォームで作る・メニュー画面とサムネイル画面は常に同時に表示しておきたいなどの事情ならともかく、単に、メニューでフォルダを選ぶ→そのフォルダにある画像のサムネイルを表示する、といった流れのムービーであれば、メニュー画面とサムネイル画面を別々の swf ファイルにする必要はないと思います。
1つのムービーの中にメニューもサムネイル画面も存在していれば、サムネイル画面からメニューに戻り、違うフォルダを選択し直してサムネイル画面を表示するといったことも可能です。
メニューとサムネイル画面を別々の swf ファイルに分けてしまうと、スクリプトや処理が難しくなるだけで、メリットはそれほどないと思いますが。
この回答への補足
いつもありがとうございます。
シーン1からシーン2へ、シーン2からシーン1への移動って実施した事は無いのですが簡単ですか?。
メニューとサムネイル表示との行き来が必要なので、別々に作成しなければならないかなぁと思っていました。
この場合、ドキュメントサイズは全て同一ですか?。
同一じゃなければ、今まで作成したFLASHは別々じゃなくて
全て一つのFLASHに格納出来ると言う事ですね?。
「シーンの挿入」でシーンを追加する事は知っていたのですが、追加すると追加したシーンしか見えないので使う事をしませんでした。
No.1
- 回答日時:
1つのHTMLファイル内にMenu.swfとThumbs.swfの2つのファイルがあるんですか?
それとも、違うHTMLファイルにそれぞれMenu.swfとThumbs.swfあるとか?
この回答への補足
違う画面を想定していますので、別のHTMLファイルで稼動させるつもりです。
最後の手段は、サムネイル表示のSWFは1個用意しておき、HTMLファイルは複数(フォルダー分)用意し、各々のHTMLにはPARM=でどのフォルダーを読むかのフラッグをパラメーターとしてFLASHに受け渡す。条件設定のFLASHではgetURLで呼び出すHTMLファイルを変える。
ちょっと泥臭いやり方ですが、致し方ないかなぁと思っています。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~11/12】 急に朝起こしてきた母親に言われた一言とは?
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・好きな「お肉」は?
- ・あなたは何にトキメキますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・チョコミントアイス
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・あなたの習慣について教えてください!!
- ・ハマっている「お菓子」を教えて!
- ・高校三年生の合唱祭で何を歌いましたか?
- ・【大喜利】【投稿~11/1】 存在しそうで存在しないモノマネ芸人の名前を教えてください
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・家の中でのこだわりスペースはどこですか?
- ・つい集めてしまうものはなんですか?
- ・自分のセンスや笑いの好みに影響を受けた作品を教えて
- ・【お題】引っかけ問題(締め切り10月27日(日)23時)
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・ちょっと先の未来クイズ第4問
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
スマホでサイトの画像を長押し→...
-
potplayerについて質問です
-
クラスのプロパティ一覧を列挙...
-
FLASHでゲームを作っていた人は...
-
この曲はなんでしょう?
-
laptop go2からの買い替え、lap...
-
スクリップト
-
私のコンピューター上のファイ...
-
arduino プログラムについて
-
chrome flash
-
FLASHの再生はできないのでしょ...
-
フラッシュゲームアーカイブ2
-
ウェブサイトで Flash が事実上...
-
Flashコンテンツを使ったWebサイト
-
Flash Playerのサポートが終了
-
Form内のselectを連動させるに...
-
Flashをブロックしないで
-
ダウンロードしたデジブックはa...
-
ad or script について
-
Flashplayerの運用について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
プルダウンメニューの項目にリ...
-
Action Scriptで変数を持ち越し...
-
コピペで持ってきたのにasが働...
-
アクションスクリプトとシーン移動
-
フレーム内に移動したい
-
phpで音を鳴らす
-
フレーム内のオプションボタン...
-
Access2010でサブフォームのフ...
-
車の運転時のメガネ 縁なし(...
-
ドロップフレームの計算をエク...
-
フレームでのResponse.Redirect
-
フレーム内でのリダイレクトに...
-
GetPrivateProfileString変値
-
#1009: null のオブジェクト参...
-
エクセルVBA フレーム内のイベ...
-
VB6のスクロールバー付きフレー...
-
2Dゲーム作成する際、アニメー...
-
シーケンス番号の初期値
-
flashでjpg画像をloadmovieで読...
-
VBで動的に作成したパネルの上...
おすすめ情報