• ベストアンサー

geturlでのランダムジャンプについて

初めまして。 FLASH初心者ですので初歩的な質問かもしれませんが、わかる方がいらっしゃいましたら宜しくお願いします。 FLASHムービー終了後、geturlで他のページへジャンプし、その際複数のURLの中からランダムでジャンプするように設定したいのですが、その方法がわからず行き詰まっています。 宜しくお願いします!

  • Flash
  • 回答数2
  • ありがとう数3

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

  • ベストアンサー
noname#35109
noname#35109
回答No.2

なるほど,#1さん考えましたね, そういう手もありますね? しかし,確かに少し面倒すぎるかと…… ・ ・ ・ 「東京→大阪」 に 「東京→グアム→大阪」 と海外を経由しているような… (スミマセン,口が悪い物で...m(_ _"m)ペコリ ) 私だったら, FLASHムービー終了後,最終フレームに次のように書くと思います。という例です。 ------------------------------------- // 取りあえずストップ stop(); // 変数 url0~9 に URL を登録 url0 = "http://www.google.co.jp/"; url1 = "http://www.yahoo.co.jp/"; url2 = "http://www.goo.ne.jp/"; url3 = "http://search.msn.co.jp/"; url4 = "http://ask.jp/"; url5 = "http://www.infoseek.co.jp/"; url6 = "http://www.altavista.com/"; url7 = "http://verno.ueda.info.waseda.ac.jp/"; url8 = "http://www.fresheye.com/"; url9 = "http://search.biglobe.ne.jp/"; // 変数 n にランダムな 0~9 (10個) までの数を代入 n = Math.floor(Math.random()*10); // url0~9 のどれかの URL に getURL getURL(this["url"+n]); ------------------------------------- 配列は使っていませんが,ほとんど配列のようなものです。 ジャンプ先を別窓にしたいときは,最後の行を getURL(this["url"+n], "_blank"); にしてください。 上のようなスクリプトにすると,if文の分岐は不要になり, URL を変えたいときも手間があまりかかりません。 他にも色々な方法がありますが, 結局,#1の方の書かれている通り  Math.floor(Math.random()*10); か,それの変形は使うことにはなると思います。 Math.floor(Math.random()) の詳細は こちらを参考に↓。 「Math.random() でランダムな整数を取得する方法」 http://www.macromedia.com/jp/support/flash/ts/documents/fl0173.html 次に,[ ] についてです。 getURL(this["url"+n]); の [ ]  は「配列アクセス演算子」と呼ばれるもので, 配列でなくても,変数名を動的に変えることができるので,便利で重宝します。 なかなか,簡単で良い説明をされているサイトが見つかりませんでしたが, 一応参考URL 「ドット演算子と配列アクセス演算子」 http://www.fumiononaka.com/TechNotes/Flash/FN0507001.html 上のスクリプトの場合,  // 変数 n にランダムな 0~9 (10個) までの数を代入  n = Math.floor(Math.random()*10); これで n という勝手に作った変数に 0~9 までのどれかの数がランダムで代入されます。 次に,  // url0~9 のどれかの URL に getURL  getURL(this["url"+n]); ですが, もし,上のランダムの部分で n に例えば 7 という数が代入されたとしたら,  getURL(this["url"+7]); ということになり, さらにつまり,  getURL(this.url7); ということになるわけです。 this.url7 の値は,「http://verno.ueda.info.waseda.ac.jp/」 ですから,この URL にジャンプします。 =============================== 配列アクセス演算子 を使わず, if文 を使われるのでしたら次のようになると思います。 ------------------------------------- // 取りあえずストップ stop(); // 変数 n にランダムな 0~9 までの数を代入 n = Math.floor(Math.random()*10); if (n == 0) { getURL("http://www.google.co.jp/"); } else if (n == 1) { getURL("http://www.yahoo.co.jp/"); } else if (n == 2) { getURL("http://www.goo.ne.jp/"); } else if (n == 3) { getURL("http://search.msn.co.jp/"); } else if (n == 4) { getURL("http://ask.jp/"); } else if (n == 5) { getURL("http://www.infoseek.co.jp/"); } else if (n == 6) { getURL("http://www.altavista.com/"); } else if (n == 7) { getURL("http://verno.ueda.info.waseda.ac.jp/"); } else if (n == 8) { getURL("http://www.fresheye.com/"); } else if (n == 9) { getURL("http://search.biglobe.ne.jp/"); } ------------------------------------- というわけです。

orange007
質問者

お礼

sassakunさん、ありがとうございます! 上記のスクリプトで問題解決できました!! 本当にありがとうございます!!

その他の回答 (1)

  • suzuko
  • ベストアンサー率38% (1112/2922)
回答No.1

最後のフレーム(1)を少し伸ばして、伸ばしたフレーム毎にキーフレーム(2)~(n)を作り、そこにフレームアクションでgeturlをそれぞれ配置します。そしてフレーム(2)~(n)に名前を付け、フレーム(1)にMath.floor(Math.random()*10)で、フレーム(2)~(n)に飛ぶようにされてはどうですか? 少し面倒ですが。

orange007
質問者

お礼

ありがとうございます! 早速やってみようと思います。 その前にMath.randomを使った事が無いので、チャレンジしてみます。 今度はMath.randomの件で質問させて頂くかもしれませんが、宜しくお願いします。 ありがとうございました!

関連するQ&A

  • FLASHでランダムでURLを表示させたいのですが

    FLASH初心者です。携帯用のFLASHを作成しているのですが、FLASHムービーの終了後にボタンを押すと他のページに飛ぶようにするために以下のようなスクリプトを書きました。 on(keyPress"<enter>"){ getURL("http://●●●●●●●●"); } ここまではよかったのですが、次にURLのあとにパラメーターを付け、そのパラメーターをランダムで表示させて飛ぶようにさせたいのです。以下のような感じです。 on(keyPress"<enter>"){ getURL("http://●●●●●●●●?rmd=○○○"); } ※ ○○○は3桁の数字がランダムで入ります。 この場合、どのようなスクリプトを書けばいいのでしょうか?いろいろなサイトで調べて試してみたのですがどうしてもうまくいきません。どうか教えてください。

    • ベストアンサー
    • Flash
  • ランダムジャンプについて

    URLにアクセスする度にランダムに指定したページへ ジャンプする「ランダムジャンプ」と言うものがあるらしいのですが、私、初心者で何処で入手でき、どの様に組み込むのか解らず、困っています。 ※尚、ホームページはword2003で作成したものです。

  • getURLでの変数の渡し方

    お世話になります。 Flash+PHPで会員制の情報システムを開発しています。 PHPから商品IDと商品名を受け取り、その商品数分のムービークリップをattachMovieで配置しています。 (商品数や商品名はユーザによって変わります。) 配置したムービークリップにgetURLを設定し、それぞれにパラメータとして商品IDを付与して送信したいのです。 (以下のように設定したいのですが、item_idはPHPから受け取ったものでそれぞれ異なります。) getURL("URL?item_id=2") attachMovieの際にgetURLをムービークリップに貼るのでしょうか?それともムービークリップにgetURLを書いて変数を参照するのでしょうか? 困っています。ご回答、宜しくお願いします。

    • ベストアンサー
    • Flash
  • getURLが効きません。

    getURLが効きません。 ホームページを作っています。 FLASHのムービーが再生し終わったあと、 自動的に指定したURLにジャンプさせたいのですが、 うまくいきません。 使っているソフトは、 Adobe Flash Professional CS5 です。 タイムラインにAcctionレイヤーをつくって、 最終フレームをキーフレームにして、 ActionScriptを記述しました。 1行目に getURL(http://xn--eck3azbp7f0frfe.com/html.html); と記してあります。 プレビューすると、 シーン=シーン 1, layer=レイヤー 18, frame=46、行 1 ')' または ',' が必要です。 コンパイルエラーというのが出てきました。 ActionScript自体が効かないのかと思いましたが、 stop(); の指令だとちゃんと効いてくれます。 じぶんでも調べては見たのですが、 どうすれば飛べるのかわかりません。 みなさまの知恵をお貸しください。 よろしくおねがいします。

  • JavaScript ランダムリンク+自動ジャンプ

    トップページを複数用意し、index.htmlにアクセスした際に ランダムでいずれかのトップページに自動ジャンプするギミックを JavaScriptで制作したいのですが、記述方法がわからず困っております。 お助けください。。。

  • getURL 外部ファイル呼び出しについて

    当方初心者で、質問内容が正しいかどうかすら怪しいかもしれません。 質問はフラッシュのアクションスクリプトについてなのですが、 on (release) { getURL("URL"); } このような記述をする場合に、 "URL" の部分を外部のテキストファイルなどから読み取ることはできるのでしょうか。 また、可能であればその方法を教えていただければ幸いです。 初歩的な質問で申し訳ございませんが、何卒お願いします。

    • ベストアンサー
    • Flash
  • 最後のフレームでジャンプするURLを外部テキストで指定したい

    このたび仕事でFlashを扱うことになり、 アクションスクリプトにつまづいております。 ムービー(ごく簡単なものです)の再生が終わった直後に 所定のURLへジャンプさせたいのですが、 それを外部テキストで指定することは可能でしょうか? stopさせてgetURLで絶対指定してしまえば済む話なのですが、 プログラムが関わってくるウェブページで利用するため、 できれば外部テキストで読み込ませる方法が望ましいと考えております。 どうぞよろしくお願いいたします。

    • ベストアンサー
    • Flash
  • getURLでURLが表示されません・・・

    flash8を使用しています。 今、考えている画像は クリックして開けた箱の中にボタンが隠れていて そのボタンをさらにクリックすると あるURLが表示される・・・ というflashを作成したいのですが、 この箱の中のボタンに対する下記の表記では表示されません。 on (release) { getURL("http://***"); } 箱はムービークリップで作成しており、 このムービークリップの中にボタンを作成しているからでしょうか? このボタンをオーバー、ダウンで色を変えているのですが、 この色も反応しません。 どなたか、ご教示願います。 宜しくお願い致します。

  • getURLでボタンでリンク先を変えるやり方について教えてください。

    FLASH初心者で市販のマニュアル片手にやってます。 基本的な事だと思うのですが、スクリプトがよく分からずにいます。 getURLを設定したボタンとは別に「A」いうボタンと「B」というボタンがあった場合に、 「A」を押してからgetURLのボタンを実行した場合、設定したURL+「A」に設定した文字列を追加して実行。 「B」を押してからgetURLのボタンを実行した場合、設定したURL+「B」に設定した文字列を追加して実行。 「A」「B」の両方を押した場合は、URL+「A」+「B」で実行。 ボタンの数は増やせるという前提で。 というものをつくる事は可能でしょうか? 質問の仕方がうまく分からず、伝わり辛いと思うのですが、どうぞよろしくお願いします。

    • ベストアンサー
    • Flash
  • flashのgetURLがエラーになってしまいます

    Adobe Flash Professional CS5(体験版)を使用して、個人ホームページのトップ用ムービーを作成しています。 ムービーの再生が終了すると同時に、自動的に指定したwebページに移動するようにしたいのですが、この教えてgooでも同様の質問がたくさん出ており、そのとおりに行っているのですが、どうしても下記のエラーが出てしまいます。 『未定義の可能性が高いメソッドgetURLの呼び出しです』 アクション用のレイヤーの最終フレームにキーフレームを挿入し、そこにアクションスクリプトで下記のように入力しています。 stop(); getURL("http://www.google.co.jp/"); これを入力し、『パブリッシュプレビュー(html)』や『シーン・ムービープレビュー』をしてみるとエラーがでるのです。動画も連続再生されて、stopすら作動しません。 stop();のみであれば、ちゃんと機能するのです。 どこかおかしいところがあるのでしょうか? プレビューでは作動しないようになっているのでしょうか?それにしても、stopまできかなくなる理由がわかりません。 がんばって長いムービーも作成したので、最後の最後でつまづいてしまい困っています。お 詳しい方がいらっしゃいましたら、よろしくお願いします。

    • ベストアンサー
    • Flash