Netscape 4とNetscape 6, Ineternet Explorer 4/5/5.5ではオブジェクトモデルの実装やJavaScriptの実装に違いがありゲームを作る際に大きな障害になってしまうことが多々あります。このような場合はブラウザを限定してしまうか、共通のライブラリを外部JavaScriptファイルとして用意しておき別々に読み込んだりして処理する方法があります。
Netscape 4,6/Explorer 4以上で動作する共通ゲームライブラリを用意してしまえばゲームづくりが多少楽になります。自分なりに作成して自前のライブラリを持っている人もいるでしょう。ここでは私が作成したライブラリの仕様を紹介します。このライブラリを使用すればNetscape 4,6でもExplorer 4/5/5.5でも1つのプログラムでゲームを作成することができます。
なお、このライブラリはコピー/改変は自由です。使用しました等の確認メールも不要です。
仕様は以下の通りです。
●スプライト設定
画面上に表示するスプライト(オブジェクト/キャラクタ)を定義します。
関 数:sp_init(_type,_ObjName,_imgName,_execFunc)
引 数:_type 0=通常、1=クリック可能/クリック時関数を呼び出す
_ObjName オブジェクト(キャラクタ)名
_imgName 表示画像URL
_execFunc _type=1の時に呼び出される関数名
戻り値:なし
●スプライト画像切り替え
スプライトの画像を入れ替えます。
関 数:sp_image(_ObjName,_imgName)
引 数:_ObjName オブジェクト(キャラクタ)名
_imgName 表示画像URL
戻り値:なし
●スプライト移動
指定座標にスプライトを移動させます。
関 数:sp_move(_ObjName,_x,_y)
引 数:_ObjName オブジェクト(キャラクタ)名
_x X座標
_y Y座標
戻り値:なし
●乱数を整数値で返す
整数の乱数を返します。
関 数:sp_rnd(n)
引 数:n 値(整数)
戻り値:整数の乱数値
●符号を返す
値の正負により-1,0,1を返します。正数は1、負数は-1、ゼロは0を返します。
関 数:sp_sgn(n)
引 数:n 値
戻り値:-1,0,1のいずれか
●スプライト非表示
スプライトの表示をオフにします。見えなくなるだけでスプライト自体が消滅するわけではありません。
関 数:sp_hide(_ObjName)
引 数:_ObjName オブジェクト(キャラクタ)名
戻り値:なし
●スプライト表示
スプライトを表示します。
関 数:sp_show(_ObjName)
引 数:_ObjName オブジェクト(キャラクタ)名
戻り値:なし
●キー入力初期化
キー入力を可能にします。この関数を呼び出さないとキー入力関係の関数は正常に動作しません。
関 数:sp_initKey(callFunc)
引 数:callFunc キーが入力された時の呼び出し関数名
戻り値:なし
●キー入力番号を返す
押されたキーのキー番号を返します。
関 数:sp_getKeyCode(evt)
引 数:evt Netscape 4用(使用時は無視してよい)
戻り値:キー番号(Latin-1)
●キー入力文字を返す
押されたキーの文字を返します。
関 数:sp_getKey(evt)
引 数:evt Netscape 4用(使用時は無視してよい)
戻り値:押されたキー文字(Aや9などの文字)
●サウンド初期化
サウンドを初期化します。Netsapeの場合はサウンドは一切演奏しないようになっていますので注意してください。
関 数:sp_initSound(_ObjName,_sndName,_volume,_loop)
引 数:_ObjName サウンド名
_sndName サウンドファイルURL(最初は無音のデータを用意し指定してください)
_volume 音量/ボリューム
_loop ループ回数
戻り値:なし
●サウンド演奏
サウンドを演奏します。
関 数:sp_playSound(_ObjName,_sndname)
引 数:_ObjName サウンド名
_sndName 演奏するサウンドファイルURL
戻り値:なし
●マウス座標入力初期化
マウス入力の初期化を行います。この関数を呼び出さないとマウス座標などの取得が正常にできない場合があります。
関 数:sp_initMouse(callFunc,funcType)
引 数:callFunc マウス移動時等の呼び出し関数名
funcType 0=マウスボタンが押された時、1=マウスが移動した時
戻り値:なし
●マウスX座標を返す
マウスのX座標値を返します。
関 数:sp_getMouseX()
引 数:なし
戻り値:マウスのX座標(ページ上の座標)
●マウスY座標を返す
マウスのY座標値を返します。
関 数:sp_getMouseY()
引 数:なし
戻り値:マウスのY座標(ページ上の座標)
●領域判定
2つの矩形座標が接触しているかどうか調べます。
関 数:sp_hitCheck(bx,by,blx,bly,cx,cy,clx,cly)
引 数:bx スプライト1のX座標値
by スプライト1のY座標値
blx スプライト1の横幅
bly スプライト1の縦幅
cx スプライト2のX座標値
cy スプライト2のY座標値
clx スプライト2の横幅
cly スプライト2の縦幅
戻り値:0 = 接触していない
1 = 接触している
|