- ベストアンサー
ブラウザが揺れる(震動)させる事って可能ですか?
flashCS4、AS3.0を使用しております。 以前、ホームページを見ていたら、フラッシュアニメーションで、車が壁(ステージの端)にぶつかった時に、効果音と共にブラウザ全体が揺れたのです!こんな表現、初めて見ました。そのような事って出来るのでしょうか? 残念ながらその時のサイトはすでになくなってしまい例を見てもらう事が出来ないのですが、イメージですと…例えばタイムライン上でフレームが100あるとして、60フレームになった時に車が壁に激突して、その60フレームには何らかのスクリプトが記述してあるのでしょうか? どなたか解る方がいましたら教えてください。よろしくお願い致します…。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
#1です。 > この件についての記述内容が参照出来るサイトが有れば > ご指示いただければ幸いです。 ヘルプなどを見てわかりませんでしたか? そのまんまですけどね。 ファイル構造が次のような状態であったとします。 任意のフォルダ ├○○○.html(AAA.swf を貼り付ける) └AAA.swf #1で書いたページのJavaScript入りHTMLをそのまま流用させてもらった場合。 ---○○○.html 例 ---------- <HTML> <HEAD> <TITLE></TITLE> <SCRIPT language="JavaScript"> <!-- // ウィンドウを揺らす itv = 100; // ウィンドウを揺らす間隔(ミリ秒単位) cnt = 0; // ウィンドウを揺らすパターン。x座標・y座標 x = new Array( 12,-20, 8,-16, 20, -4, 16, -8, 4,-12,0); y = new Array(-20, 8,-16, 12,-12, 16, -4, 20, -8, 4,0); function quakeWindow() { if(x[cnt] != 0) moveBy(x[cnt],y[cnt]); cnt++; if(cnt < x.length) setTimeout("quakeWindow()",itv); else cnt = 0; } //--> </SCRIPT> </HEAD> <BODY bgcolor="#ffffff"> <object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="550" height="400" id="AAA" align="middle"> <param name="allowScriptAccess" value="always" /> <param name="movie" value="AAA.swf" /> <embed src="AAA.swf" width="550" height="400" name="AAA" align="middle" allowScriptAccess="always" type="application/x-shockwave-flash" /> </object> </BODY> </HTML> -------------------------- そして AAA.swf(AAA.fla) の フレーム60 をキーフレームにして そのキーフレームに次の1行を記入。 -------------------------- ExternalInterface.call("quakeWindow"); -------------------------- 以上で終わりです。 <INPUT type="button" value="ウィンドウを揺らす" onClick="quakeWindow()"> ↑このように HTML のボタンから JavaScript で定義した関数 quakeWindow を叩くようにしてあった部分を, ExternalInterface.call("quakeWindow"); ↑このように SWF のフレームから JavaScript で定義した関数 quakeWindow を叩くように変えただけです。 navigateToURL よりも Loader.load よりも簡単。 JavaScriptの関数名quakeWindowは自由に変えれば良いですし,関数の内容自体も自分で変えれば良いと思います。 > ExternalInterface.call でJavaScript の関数を叩けば良い #1で書いた内容そのまんまでしょう。
その他の回答 (1)
- BlurFiltan
- ベストアンサー率91% (1611/1754)
「"ブラウザを" 揺らす」 のですから, ActionScriptではなくJavaScriptでしょう。 色んな方法はあると思いますがたとえばこの辺とか↓ 「ウィンドウを揺らす - JavaScript」 http://javascript.eweb-design.com/0508_qw.html Flash から揺らす場合は, 60フレーム になったとき, ExternalInterface.call でJavaScript の関数を叩けば良いと思います。
お礼
BlurFiltanさん: ご回答、ご指示有難うございました。 ActionScriptではなくJavaScriptでそのようにブラウザを揺らすのが解りました。とっても解り易いご回答有難うございました。 Flash から揺らす場合ですが、ExternalInterface.call でJavaScript の関数との事ですが、記述内容については調べてみます。今回のケースの場合は、Flash から揺らす場合のようですので、こちらを勉強してみたいと思います。この件についての記述内容が参照出来るサイトが有ればご指示いただければ幸いです。いつも的確な回答有難うございました。
お礼
BlurFiltanさん: たびたび有難うございます。 まさにそのとおりでした!! そのままやってみましたら揺れました!!しかも完璧に面白いように揺れました。数値を変更してアレンジするとさらに揺れが面白いようになりました!いつもながらですが、とても親切丁寧な解説有難うございました。とても解り易いです。本当に有難うございました。