• ベストアンサー

FLASHで開始コマをランダムにしたいです。

FLASHで開始コマをランダムにしたいです。 画像5枚が2,3秒づつで切り替わるバナーをFLASHで作りたいのですが、 ページに入る度に開始する画像をランダムにしたいんです。 (入るたびにバナーが変わるjavascriptのランダムバナーのように) いくつか指定したコマからランダムでスタートといった設定はできるのでしょうか? 確率も決められればベターです(これは特に重要ではないです)。 FLASH CS4を使用しています。お願いします。

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

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

書かれていらっしゃること自体は難しくはありません。 Math クラス の random() メソッド で 0以上1未満のランダムな数が得られます。 (0 <= ランダムな数 < 1) 例えば それで得られた数が 0.1 未満である確率は 10 % です。 それで得られた数が 0.7 以上である確率は 30 % です。 ですからフレーム1に,次のように書けば良いです。 ----------------- //変数 rnd_num に 0以上1未満 のランダムな数を代入 var rnd_num:Number = Math.random(); // 22% の確率で if (rnd_num < 22 / 100) { //フレーム2 から再生 gotoAndPlay(2); //23%の確率で } else if (rnd_num < 45/100) { //フレーム8 から再生 gotoAndPlay(8); //5%の確率で } else if (rnd_num < 50/100) { //フレーム11 から再生 gotoAndPlay(8); //残り50%の確率で } else { //フレーム19 から再生 gotoAndPlay(19); } ----------------- また,最終フレームのキーフレームには フレーム1 に戻ってしまわないように ------------- gotoAndPlay(2); ------------- と書いておけば良いです。 ※以上のスクリプトは   ActionScript 2.0 設定でも 3.0 設定でも使えます。 しかし Flash Player は SWF がメモリにロードされる端から再生するようにできています。 つまり 全てのフレーム がロードされる前, フレーム1 が表示されると同時に上のコードが実行されます。 したがって フレーム19 がまだロードされていない場合でも  //フレーム19 から再生  gotoAndPlay(19); が実行されてしまう可能性もあります。 そんなことになると Flash Player は フレーム19 など表示できないので 再生停止状態になるか途中のフレームで墜落してしまうということになります。 ですから 再生開始間もなくいきなり フレームジャンプ をする場合などは 「NowLoading...」 のようなロード待ちを入れる必要があります。 「NowLoading...」のような見た目の表現は全く抜きにしたとしても フレーム1 のスクリプトを次のように工夫する必要があります。 --------------- //再生停止 stop(); //イベントリスナーを登録 //(毎フレーム時間で実行,実行関数 goRnandom) this.addEventListener(Event.ENTER_FRAME,goRnandom); //関数 goRnandom の定義 function goRnandom(evt:Event):void { //変数 per にロードされたパーセントを取得 var per:Number = this.loaderInfo.bytesLoaded / this.loaderInfo.bytesTotal * 100; // //もしロードパーセンテージが 100 に達すれば if (per >= 100) { //登録したイベントリスナーを削除 this.removeEventListener(Event.ENTER_FRAME, goRnandom); //変数 rnd_num に 0以上1未満 のランダムな数を代入 var rnd_num:Number = Math.random(); // 22% の確率で if (rnd_num < 22 / 100) { //フレーム2 から再生 gotoAndPlay(2); //23%の確率で } else if (rnd_num < 45/100) { //フレーム8 から再生 gotoAndPlay(8); //5%の確率で } else if (rnd_num < 50/100) { //フレーム11 から再生 gotoAndPlay(8); //残り50%の確率で } else { //フレーム19 から再生 gotoAndPlay(19); } } } --------------- ※上のスクリプトは ActionScript 3.0 設定のみで使えます。

peco33
質問者

お礼

丁寧なご教授ありがとうございます。 試してみたいと思います。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • ランダムバナーについてです

    仕事でHPの制作を担当しています。 全てのページに広告用のランダムバナーを設置しているのですが、現在はページがそれほど多くないので全てにJavaScriptでのランダムバナーを埋め込んでおります。 現在、サイトのリニューアルを予定しておりまして、製作の過程でかなりページが増えてしまうこととなりました。 そこで、ランダムバナーを更新する度に全てのページを書き換えるのは手間がかかるので、cgiかなにかで一括管理するような方法を紹介しているサイトがありましたら教えていただきたいです。 よろしくお願いします

    • ベストアンサー
    • CSS
  • ランダムバナー

    5秒間隔でランダムにバナー広告を表示するスクリプトが欲しい。 できれば、CGIではなくJavaScriptでできるものがいいです。 その方面に詳しい方宜しくお願いします。

  • 画像がランダムに表示されるFLASH

    いつもお世話になっています。 以下のようなFLASHを作りたいのですが、やり方がわからず困っています。 (1)リロードするたびにランダムで切り替わる画像1~6がある (2)画像の横にボタン1~6があり、マウスオーバーするとそれぞれ画像1、画像2…と表示される (3)ボタン1~6をクリックするとwebページ1~6へジャンプ(リンクさせている) 上記目的のうち、(2)(3)については完成しています。具体的にはAフレームには画像1、Bフレームには画像2…と配置し、ボタン1~6のアクションスクリプトにそれぞれ「マウスオーバー時にAフレームに飛ぶ」と記述しています。そしてメインのタイムライン1フレーム目にはアクションスクリプトに「ボタン1がクリックされたらwebページ1へ、ボタン2がクリックされたらwebページ2へ…」と記述しています。 これで(2)(3)の目的は果たせており、問題は(1)です。 ランダム表示される画像があり、ボタンのマウスオーバーで指定した画像が表示され、クリックでwebページへとぶ、ためにはどこにどんな記述をすれば良いのでしょうか? ちなみに作ったFLASHがサイトのトップページの一部となり、クリックで飛ぶwebページはそのサイト内です。 アドバイスいただけると助かります。 どうかよろしくお願いします。FLASHは上記がほぼ初めての挑戦である初心者です。

  • ランダム表示画像にリンクマップを貼れますか?

    ページの上部に、ページが更新するたびに違う画像が 表示されるようにJavaScriptで記述をしているのですが、 その画像の数箇所に、別々のURLを貼りたいのです。 ランダム表示ではない通常の画像の場合、 それぞれの形に合わせてエリアを指定し、 リンクマップをすればいいと思うのですが、 ランダム表示をしている画像に対しては どうすれば良いのでしょうか? また、リンクを貼る部分をオンマウスオーバーするようにも したいのです。 このような事は可能なのでしょうか?

  • JavaScriptでランダムに画像を表示させ、5秒ぐらいで画像は自動

    JavaScriptでランダムに画像を表示させ、5秒ぐらいで画像は自動切換え、さらにその画像にリンク先urlの指定のやり方をわかる方いらっしゃいましたら教えてください。 JavaScriptでランダムに画像を表示、5秒ぐらいで自動切換えまでは過去質問でわかったのですが、その画像にリンクさせる方法をお願い致します。 JavaScriptでランダムに画像を表示、5秒ぐらいで自動切換えまでは http://www.tagindex.com/kakolog/q4bbs/201/360.html こちらの質問内記載のタグを参照させて頂きました。 これに個々の画像にリンクをつけたいのです。 よろしくお願い致します。

  • バナー(javascript)をランダムで表示

    FC2ブログのプラグインにjavascriptを使ってバナー広告をランダムで表示しています。 今までは問題なかったのですが、新しくバナーを加えた際に、そのバナーがjavascriptで出来たものだったので、どうしてよいものかわからなくなってしまいました。 ランダム表示にはこちらのページを参考、というかコピーしました。 http://javascript.eweb-design.com/0616_ra.html 貼り付けたいバナーのソースです↓ ソースの改変は認められていません。 <!--- ---> <script type="text/javascript"><!--- ---></script> <script src='jsファイルのURL'></script> <noscript></noscript> <!--- ---> これ以外のバナーはgifとリンクで構成されていましたので特に問題ありませんでしたが、そこに上記のjavascriptバナーを加えてランダムに表示することはできますか? 自分で調べてみましたが、自力では見つけられなかったのでココで質問をする事にいたしました。 回答お願いします。

  • モバイルFLASHのランダムスライドショーについて

    現在、モバイルのFlashでスライドショーを作ろうとしています。 ◆条件は以下の通りです。 ・5枚程度の画像をランダムで表示する。 ・フェイドアウトする画像とフェイドする画像を重ねたい。(同時にフェイドインとフェイドアウトがかかる状態) ・ランダムで画像を取る際、同じ画像がフェイドインとフェイドアウトを起こさない。 ◆環境は以下の通りです。 Flash CS4 au W65T できる限りスクリプトで済ませたいと考えています。 何卒宜しくお願い致します。

  • AS2:画像ファイルをランダムに読み込むコード

    actionscript2.0で画像ファイルをランダムに読み込み、表示するコードを教えて下さい! バナーを作りその中に100枚くらいの画像ファイルが入ったファルダから 読み込むといった感じです。 画像ファイル数は増えたり減ったりしますので、それを想定したコードがありがたいです。 読み込んだファイルは横に動くスライドショーになる予定です。 PC環境:Adobe Flash CS5 actionscript2.0 Flash Player8 まだFlashを始めたばかりで、質問の内容分かりにくいかもしれませんが、 ご教授のほどをよろしくお願い致します。

  • FLASHのランダム表示とサイズ指定

    Action scriptがいまいちわからないのでjavascriptでFLASH画像をランダム表示していますがサイズの指定ができません。 全て同じサイズのFLASHですが表示サイズが半分以下になってしまいます。 ヘッダに下記のスクリプトを書き、 ↓ <SCRIPT TYPE="text/javascript"> n=parseInt(Math.random() * 3); var flashurl = [ "1.swf","2.swf","3.swf ]; document.write("<OBJECT CLSID=xxxx SRC='"+flashurl[n]+"' ...>"); document.write("</OBJECT>"); </SCRIPT> 表示させたい場所に下記のように書いています。 ↓ <script language="javascript"> var flashurl = ["1.swf", "2.swf", "3.swf",]; flashurl = flashurl[Math.floor(Math.random() * flashurl.length)]; document.write('<object data="' + flashurl + '" type="application/x-shockwave-flash">'); document.write('<param value="' + flashurl + '" name="movie" /></object>'); </script> CSSレイアウトでページを作っている事は関係ないでしょうか。スクリプト初心者なのでよろしくお願い致します。

  • SSL対応ページにFlashバナー

    SSLページ上にFlashバナーを置いたところ、セキュリティ情報の小窓がでてしまいます。「このページにはセキュリティ保護の項目があるものとない項目がありますが保護されていない項目を開きますか」と聞かれてしまいます。なぜだかわかりません。。ちなみにflashバナー指定部分はJavaScriptで書いています。imgパス部分は絶対パスも相対パスも、https--と書いてもだめでした。。もしかして、SSLページ上にFlashバナーを置くと、セキュリティに引っかかるのでしょうか?どうかご教授ください。。