とある日の妄想

- 久々の更新… -

何気ない日常にふと思いついた世迷言をつづるブログ

 

rss-feedRSSフィード

■携帯版はこちら
http://blog.toaruhi.net/m/

携帯サイトQRコード

ブログ内検索

キーワード

 

※検索エンジンで検索した情報が見当たらない場合にご利用ください。

新着記事

カテゴリ一覧

外部リンク

創作物の規制/単純所持規制に反対する請願署名市民有志

作者について

2003年02月24日(木)
久々の更新…
JavaScript
といっても新作があるわけでもなく。なかなか新作はできないねぇ…。システムはできてても本体(シナリオとか、BGMとか)がさっぱり開発すすまない今日この頃。

とりあえずいまあるJSゲーのスクリプトをNS6以降やその他のブラウザでも動くように書き直してみた(NS6以降といってもテストブラウザはOSX版のNS7だけだったり…)。デバッグにはNS6のJavaScriptコンソールを初めて利用。分かりにくいといえば分かりにくいけど、慣れればなんとかなりそうな気配。

標準化といっても、基本的にはdocument.all[]をdocument.getElementById()に置き換える作業。とうぜんNS4とかには関係のない話なんだよな〜。でも、これだけでかなりいろんなブラウザで動くようになった。

以下、気付いたことメモ。

Safari pbはCookieのpathを省略すると、自動的に文書のURLにpathが設定されるみたいだ。そのため、Cookieを書き込む汎用スクリプトをpath属性を指定するように書き換える。「月光の刻」のように複数のページでCookieを使うと、別のパスとしてつぎつぎと新しいCookieを保存してしまうので、この設定は必須っぽい。

NS6などでは、onkeydownやonkeyupイベントを有効にするために、documentの部品にフォーカスが当たる必要があるようだ。そのためダミーのフォームなどをおいて、focus()、blur()とやってみる(onkeypressイベントには必要ないようだ)。なんかNavigatorではスタイルシートで見えないフォームにしてフォーカスをあててるのに、なぜかテキストカーソルが点滅したり、おかしな動きがあった。

また、document.getElementById(id).style.leftやstyle.topの値に文字列pxが含まれているので、そのまま取り出して計算に使ったりはできない。pxを消してから数値に変換する必要がある(コレまえにもやったような…)。この処理を「ギガトンパンチ!」のメイン部分で正規表現によっておこなうようにしたら、もともと思い動作がさらに重くなり、実用性が無くなったり。やむをえず「ギガトンパンチ!」だけはいまだIE5以降専用…。

MIDIBGMの表現に、IE以外のブラウザはobjectタグを使うようにしてみた。NS7、Navigator0.6、Safari pbなどではobjectタグが使えた(IEは使えないようだが…)。結構このタグ、使い勝手がいい感じですき。

以下のブラウザでテストの結果、だいたい動いた。でもゲームによってはうまくいかなかったり、不審な動作をしたりして、微妙な実装の違いがあるっぽい。いまのところ全てMac版でのみテスト。

IE5.22
NS7
Navigator0.6(Chimera)
Safari public beta

OmniWeb、iCabではほとんど動かなかった。新作もできればいくつかのブラウザに対応したいな〜。


未修整項目として、ポップアップウィンドウのプロパティ。これも汎用スクリプトを修正する必要があるかも。scrollbars=noやresizable=noとか。リサイズ禁止はデフォルトがそうなってるのと、そうでないのと別れてる。スクロールバーは、Navigator0.6で「煩悩タイピング」をやると、枠外のレイヤを表示した時に勝手に表示されて、なんか見苦しくなる。ま、そのうち。





トラックバックURL

コメントを投稿する

名前
コメント


Dragon Quest 6

龍が如く4

FF13

THIS IS IT

ときめきメモリアル4

鉄拳6