FLASH作成ソフト「Suzuka」のスプライト‐ボタン化‐getURLについて

このQ&Aのポイント
  • FLASH作成ソフト「Suzuka」でスプライトを作成し、ボタン化やgetURLの設定を行いたい
  • 1つ目の要望は、スプライト内で画像が入れ替わると同時に別の画像が現れること
  • 2つ目の要望は、さらにその別の画像にロールオーバーしたら画像が入れ替わり、クリックしたら指定したページに飛ぶこと
回答を見る
  • ベストアンサー

FLASH作成ソフト「Suzuka」のスプライト‐ボタン化‐getURLについて

たとえば、 http://www.inadajuku.co.jp/cgi-bin/view/index.cgi のような、「4歳~小学2年生の方へ」に 1.ロールオーバーしたとき、画像が入れ替わると同時に、 2、右側に新たな画像が現れ、 3、さらにその画像にロールオーバーしたとき、画像が入れ替わり、 4、クリックしたら指定したページに飛ぶ。 と、いうFLASHを作成したいと思っています。 スプライトを作成し、その中にボタン化した画像(通常時、通過の設定)とgetURLの設定、フレームアクションの設定等をしたところ、1、2までは動作したのですが、3,4がうまくいきません。スプライト内のプレビューでは3,4も動作してくれるのですが、メインのプレビューや実際にアップしても1,2まで動作して、クリックしても指定したページに飛んでくれません。 スプライト内ではボタン化はあまり意味がないのでしょうか? それともスクリプトの設定がほかに必要なのでしょうか。 どなたかお力添えをお願いいたします。 Suzuka Ver.0.8.1を使用しています。

  • Flash
  • 回答数1
  • ありがとう数4

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

  • ベストアンサー
  • BlurFiltan
  • ベストアンサー率91% (1611/1754)
回答No.1

「プルダウンメニュー」 とか 「ドロップダウンメニュー」 と呼ばれる物の一種ですね。 Flash 版のものよりも、JavaScript や CSS 版のものをよく見かけます。 (Flash ではそういう型にはまったメニューにこだわる必要がないのであまり見かけないのだと思いますが。) プルダウンメニューの作成は、書かれていらっしゃる通り、 「スプライトの中に画像が切り替わるボタンを入れる方法」 で良いと思います。 その方法を延長させる例を書きます。 1セットのプルダウンのボタンは4つあったとします(実際はいくつでもかまいません)。 1つは「最初から表示されているボタン」で、 残りの3つは「後から出てくるボタン」だとします。 スプライト内の フレーム1 のレイヤーに、 「最初から表示されているボタン」を追加します。 そして例えば「btn_1」というインスタンス名を付けます。 スプライト内の フレーム2 のレイヤーに、 3つの「後から出てくるボタン」を追加します。 そして例えば各ボタンに「btn_1_1」「btn_1_2」「btn_1_3」というインスタンス名を付けます。  _root(メインのタイムライン)    └スプライト(ボタン入り)       ├ btn_1(フレーム1 と 2 にある)       ├ btn_1_1(フレーム2 にある)       ├ btn_1_2(フレーム2 にある)       └ btn_1_3(フレーム2 にある) 「最初から表示されているボタン」と「後から出てくるボタン」は ピッタリひっつけて配置する方が作成は楽です。 アクションレイヤーを追加して、 そのアクションレイヤーの フレーム1 には次のように書きます。 ---------------------------------------------- // このスプライトのタイムラインを変数化 var sp = this; //このスプライトの再生を停止 sp.stop(); // 「btn_1」ロールオーバー時 btn_1.onRollOver = function(){ // // このスプライトをフレーム2で停止 sp.gotoAndStop(2); // // このスプライトにマウスが動いたときの動作を定義 sp.onMouseMove = function(){ // もしこのスプライトがマウスに接触していなければ if(!sp.hitTest(_root._xmouse,_root._ymouse,true)){ // このスプライトをフレーム1で停止 sp.gotoAndStop(1); // マウスが動いたときの動作定義を削除 delete sp.onMouseMove; } }; }; ---------------------------------------------- アクションレイヤーの フレーム2 を キーフレーム に変換して その フレーム2 には次のように書きます。 ---------------------------------------------- // 各ボタンで共通の動作をユーザ定義関数に定義 // (引数は各ボタンから渡されるURL) function commonWork(url){ // このスプライトをフレーム1で停止 sp.gotoAndStop(1); // マウスが動いたときの動作定義を削除 delete sp.onMouseMove; // 引数のURLを別窓で開く getURL(url,"_blank"); } // 「btn_1_1」クリック時の動作を定義 btn_1_1.onRelease = function(){ // 共通動作の関数を実行(引数「"AAA.html"」) commonWork("AAA.html"); }; // 「btn_1_2」クリック時の動作を定義 btn_1_2.onRelease = function(){ // 共通動作の関数を実行(引数「"BBB.html"」) commonWork("BBB.html"); }; // 「btn_1_3」クリック時の動作を定義 btn_1_3.onRelease = function(){ // 共通動作の関数を実行(引数「"CCC.html"」) commonWork("CCC.html"); }; ---------------------------------------------- これでできあがりです。 スクリプトの細かいことはどうでも良いです。 書き方も色々ありますし、動作も色々あります。 細かいことではなく大まかな原理(大きな流れ)を理解してみてください。 まず、 スプライト内のフレーム1には「最初から表示されているボタン」のみがあって、 とりあえずそのフレームで停止させます。 そして、 「最初から表示されているボタン」にロールオーバーすると、 スプライト内をフレーム2に進めるとともに、 「マウスが動いた時に実行する動作」を定義します。 「マウスが動いた時に実行する動作」とは上に書いた次の部分です。      ↓↓↓  // もしこのスプライトがマウスに接触していなければ  if(!sp.hitTest(_root._xmouse,_root._ymouse,true)){     // このスプライトをフレーム1で停止     sp.gotoAndStop(1);     // マウスが動いたときの動作定義を削除     delete sp.onMouseMove;  }      ↓↓↓ ボタン入りスプライトからマウスが離れたら、 スプライト内をフレーム1で停止させて「最初から表示されているボタン」のみに戻す。 ということです。 スプライト自体に on (press) {} on (release) {} on (releaseOutside) {} on (rollOver) {} on (rollOut) {} や、そのフレーム記述版 onPress = function() {}; onRelease = function() {}; onReleaseOutside) = function() {}; onRollOver = function() {}; onRollOut = function() {}; を定義すると、 そのスプライト内に配置したボタン機能は死んでしまいます。 つまり 「ボタン機能の入れ子はできない。入れ子にすると親のボタン機能が勝つ。」ということです。 ですから、 その入れ子状態を回避するために、 ロールアウトを別の方法を使うということです。 接触判定「hitTestメソッド」を使わなくても、他にも方法はあります。 ↓このページの最後の図のように http://jr6bij.hiyoko3.com/flash_tips/drop_menu2.php フレーム2 のボタン群の周囲を囲むような透明ボタンを用意して その透明ボタンに on (rollOver) { gotoAndStop(1); } などと書いても良いと思います。 ※ 上のページは図のみ参考になります。   スクリプトは全く別物ですから参考にはなりません。 その他,まだ方法はあります。 あと、上で、 > 「最初から表示されているボタン」と「後から出てくるボタン」は > ピッタリひっつけて配置する方が作成は楽です。 と書きましたが、 隙間が開いていると、その隙間をマウスが通過するときに、 いったんスプライトからロールアウトしてしまうからです。 ですから、隙間を開けない方が良いです。 でも、決してボタンどうしの間に隙間をあけてはならないことはありません。 フレーム2 以降にボタン群全体を覆うような透明な画像(PDR)でも置いておけば、スプライトからロールアウトしませんから。 またこの説明ではスプライト内を2フレームにしているだけです。 もっと多くのフレームにして、 各ボタンをトゥイーンで出してもかまいません。 とにかく、 細かいことではなく大まかな原理(大きな流れ)を理解すると そこから先は考えて色々なものが作成できると思います。

kazumanabu
質問者

お礼

とてもわかりやすく、丁寧なご説明ありがとうございます。 ここ1ヶ月ぐらいずっと悩んでたことが解決しそうです。 さっそく、このあとに設定してみたいと思います。 それができれば、透明ボタンやその他の方法も順にやってみたいと 思います。

関連するQ&A

  • flash作成ソフトSuzukaについて

    Suzukaにてドロップダウンメニューをつくっています。 http://okwave.jp/qa/q5530131.html こちらを参考につくっていたのですが、こちらの質問ではサブメニューがボタンですが、アニメーションのあるスプライトでも可能なのでしょうか? サブメニューをロールオーバーで画像変換、クリックでgeturlと設定しています。 メインをロールオーバーでサブメニューを出すところまでは出来たのですが、 サブメニューがくっついていない為、メインからロールアウトした状態になってしまって困っています。 上記の説明では、サブメニューを囲むように透過された画像を配置すればロールアウトした状態にならないと書いているのですが、いまいちうまくいきません。 当たり判定(Hitarea)を使う方法もいまいちわからないので、どなたかご教授お願いします。

  • SUZUKAで作成したリンクが飛ばない

    SUZUKAで動画を作成しました。 その中でボタンを作成し、スクリプトにgetURL~でリンクを貼りました。SUZUKA上のプレビューではクリックするとリンクが飛ぶのですが、 それをHTMLで再生するとリンクしません。 どなたかおわかりになる方いらっしゃいますでしょうか? もしかして、容量は関係しますか? SWFファイルで2.5MBです。 SUZUKAのバージョンは、Ver.0.8.1です。

    • ベストアンサー
    • Flash
  • flashのsuzukaで画像を拡大するボタンを作りたい

    いろいろと試行錯誤を繰り返し、suzuka講座のサイトなど見てみましたが、挫折・・皆様のお知恵をお貸しください。 フリーのflash作成ソフトのsuzukaでサムネイル画像をクリックすると その画像が拡大するflashを作っています。 画像が拡大するスプライトを作成し、ボタンの中に組み込んでみたのですが、 マウスをクリックすると拡大するのですが、放すと元に戻ってしまいます。 放した後も、もう一回くりっくするまで拡大させたままにしたいのですが、どうすればよいのでしょう・・。

  • ボタンでスプライトを動かす方法

    ボタン1をクリックしたらスプライト1が動き、 ボタン2をクリックしたらスプライト2が動くようなFlashを作るには どうしたらいいですか? スプライトの動きとしては画面端から現れて中央で止まるというものです。 ボタン1をクリックしスプライト1を動かしたあとに ボタン2をクリックしたら表示されているスプライト1が消えて スプライト2が現れるような動きをしたいです。 使っているのはフリーソフトのSuzukaです。 なにか良い方法がありましたら教えてください。 お願いします。

  • モバイル用FLASH作成suzuka

    suzukaで携帯用フラッシュを作成していますが、i menuのようなトップページを作りたく思い勉強していますが、suzukaや携帯用アクションスプリクトがなかなか分かりません。 jpgの画像をボタンシンボルにして、 3つ程ならべ、それぞれに on keypress"<enetr>"{ } geturl"http://OOOXXXXUUU.com"{ } というスプリクトを書きました。 少しでもアドバイス頂ければと思います。すみませんが分かる方いらっしゃいましたら 宜しくお願いいたします。

    • ベストアンサー
    • Flash
  • FLASHをSUZUKAを使って製作しています。

    FLASHをSUZUKAを使って製作しています。 下記サイトみたいなconceptをクリックするとまたFLASHが出てきますが、同じようにFLASHの上にFLASHをスプライトを作って乗せているのですが同じようにCLOSEボタンをクリックして閉じることができません。 http://www.romansweets.jp/ どうすればいいのでしょうか? CLOSEボタンのアクションスクリプトの書き方だと思うのですが初心者のためわかりません。 よろしくお願いします。

    • ベストアンサー
    • CSS
  • フラッシュ作成ソフト「Suzuka」について。

    フラッシュ作成ソフト「Suzuka」についての質問なのですが 画像の開始フレームというのは、いちいち入力しなければならないのでしょうか? 一定の動作をループさせたいのですが、方法が分かりません。 今は1枚1枚に手打ちで開始フレームを打ち込んでいるのですが 1000枚以上もの画像に打ち込むのは正直辛いです。 何かご存知のことがあれば教えてください、お願いします。

  • 携帯用Flashでgeturlさせる方法

    お世話になります。似たような質問があったのですが どうしてもできなかったので新たに質問させていただきます。 携帯用のFlashアニメーションをFlashLiteで作成し、 最後にボタンを置いて他のページ(携帯用のページ)へリンクさせようとしています。 ボタンには以下のスクリプトを記述しています。 on (release, keyPress "0") { getURL("目的のURL"); } こうしたところ、PC上のブラウザや、Flashアプリケーション上のプレビューでは正確に動作しリンク先のページへ移動するのですが、 docomoのimode対応htmlシミュレーターや、携帯実機で試すと 移動しないのです。 それほど難しいことをしようとしているわけではないのですが、 何かスクリプトに問題があるのでしょうか。 指定するurlはindex.htmlでなくてはならない等制約があるのでしょうか。 現在指定しているのはパスまで(http://www.abc.ne.jp/)でファイル名まで(abc.php)は指定していません。 何か分かること、間違っていることがあれば教えてください。 どうぞよろしくお願いいたします。

  • cssスプライトで作ったボタンがIE6でロールオーバー時に消える

    CSSでロールオーバーするボタンを作りました。(CSSスプライトという手法で作っています) ところが、IE6でのみ、ロールオーバー時に、ボタン画像が消えます。 ためしにjavascriptで先にキャッシュを読み込ませてみましたが、やっぱり消えてしまいました。 どうしたらIE6でも正常に表示できますか?

  • 【Flash】 Suzuka での作成についてです

    「Suzuka」のFlash作成のフリーソフトで・・・ 最近、やっと、スライドショー作成とトゥイ~ンで動かす事が出来るようになりました。 それで、今チャレンジしている事は、青空雲の背景画像などの1枚の画像で、左から右へと横に無限ループなんですが 1枚の画像を複製(同じ画像)して2枚使用で、1枚の画像をタイムラインを設定してトゥイ~ンで動し 次に続けて2枚の画像を追加し、1枚の画像のタイムラインの続きタイムラインを設定しトゥイ~ンで動し プレビュで確認してみると ★のところで1枚目の画像と2枚目の画像の間で一部が空白(白色)になりうまい事つながりません。 また、2枚目の画像のスライドが終わり、1枚目がループになる時も一部が空白(白色)になりうまい事つながりません。 ちなみに、動作はちゃんと左から右へと横にとスライドはしてますが、ループ的にはダメです。 どうやったら、うまい事、一部が空白(白色)にならずに、画像が流れるようにつながり無限ループができるのでしょうか? 自分なりに色んなサイトを検索して「Suzuka」での無限ループに関した事を調べましたが、わかりませんでした。 何方かできれば詳しく教えて下さい。宜しくお願いします。 非常に困ってます。 【参考】 理想のイメージとしては、http://book.mycom.co.jp/support/e5/actionscript10/ このサイトにある 「Chapter13 その他のバリエーション」の項目の「13-01 無限ループ背景」で紹介されている Flashマークのアイコンクリックで見れる無限ループのFlashのようにしたいのです。

専門家に質問してみよう