- ベストアンサー
Flashゲームのブラウザ内での動作について
- Flashゲームをブラウザで動かす際、スペースキーでのゲームスタートがうまく動作しない場合があります。
- クリックしないとゲームが始まらない問題が発生するケースもあります。
- 原因としては別ウィンドウに表示したり、スタートボタンを追加することで回避できる可能性があります。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
その動作は、IE 6/7/8における「EORAS SCREEN」というクソな仕様の結果で、UIの理念とは何の関係もありません。 何でも、Microsoftが、Webページ内にプラグインを埋込む仕様について、EORASという企業の特許を侵害したとかで、自主的に「1クリックしないとインタラクティブ動作できない」ふうにブラウザを設計したようです。 Microsoft以外のブラウザにはこの特許問題がなく、そもそも本当に特許侵害問題があったのかなど、詳しいことは全く謎ですが、<object>タグを使ってIE用プラグイン(いわゆるActiveXというやつ)を直打ちした場合には、必ずこの問題が発生します。 また、Flashに限らず、ShockwaveやAcrobatなどのプラグインでも発生します。 回避方法は単純で、外部JavaScriptから、document.write等を用いて<object>タグ以降を生成すればよく、普通はFlash埋込み用の各種JavaScriptライブラリが存在しますので、それを使います。 有名なライブラリでは、swfObjectというものがあり、これを使えば問題は発生しません。 Dreamweaverでも最近のバージョンではこれを使ってFlashをページに埋め込むようになっています。
その他の回答 (1)
- BlurFiltan
- ベストアンサー率91% (1611/1754)
> 一度その画面内をクリックしないと旨く動作しません。 普通は確かにそうですね。 (というか...一般ユーザの立場になるとそうでないと困ると思います。) (私も困ります。ブラウザ内の JPEG や GIF や Flash に 勝手にフォーカスが当たってしまうことなんて。) (ですからブラウザの当然(当たり前)の仕様です。) 一般 閲覧 ユーザ ではなく, 単なる 一(いち) Flash 作成者 の立場に立つなら, 通常は 「スタート」 ボタン を Flash 内に置いておいて その 「スタート」 ボタンをユーザにクリックさせるのが 定石(オーソドックスな常套手段) です。 (ボタンをクリックすると同時に Flash にフォーカスが当たるため。) > クリックしてもだめな場合があります。 それはわかりませんね。 色々なことをしているとクリックしてもだめな場合も当然あるでしょう。 Flash 内 に クリックする 「スタート」 ボタンを配置できない場合は JavaScript で ページ内 の Flash に フォーカス を与えるのが 「スタート」 ボタン を 用意できない場合 の 回避策です。 次のように検索すれば ちらほら 例やサンプルが出てくると思います。 Google検索「JavaScript フォーカス Flash」 http://www.google.co.jp/search?hl=ja&q=JavaScript+%e3%83%95%e3%82%a9%e3%83%bc%e3%82%ab%e3%82%b9+Flash 検索すれば 少しはわかると思いますが, JavaScript で Flash に フォーカス を与えること自体が少々面倒ですし, また ブラウザの環境なども考えるとかなり厄介ですね。 ですから, 通常は 「スタート」 ボタン を Flash 内に置いておいて その 「スタート」 ボタンをユーザにクリックさせるのが 定石(オーソドックスな常套手段) です。
補足
ゲームスタートさせるために、ゲーム画面内をクリックし、ゲームが開始してから 再度ゲーム内でクリックしないとゲーム内で使用するキーとして設定してある スペースキーややじるしキーが作動しない時があります。 作動しない時は毎回ではありません。 osやブラウザの条件は以下の通りです。 WindowsvistaでIE7でゲームをした場合です。 十字キーもスペースキーも反応なし WindowsXP、Windows7でゲームをした場合 再度ゲーム内でクリックすると動作する 以上の不具合があるので考えられる事はどんな事かアドバイスいただけますでしょうか? よろしくお願いいたします。