JavaScript GAME Development Kit -JSGDK- Release 4 2004/6/4
Copyright 2004 Isawo-Kikuchi All rights reserved
本パッケージは、JavaScriptでゲームを作るための支援キットです。Internet Explorer 6.0およびNetscape Navigator 7.1(共にWindows版)、Opera7.23で動作確認をしています。おそらくIE5.0以上、NN6.0以上、Opera7.0以上で動作すると思われます。
パッケージ内容
・スプライトマネージャ
SpriteManager.js Release 3
・サウンドマネージャ(MediaPlayer版)
SoundManager.js Release 2
・サウンドマネージャ(Java版)
SoundManagerJ.js Release 1
・サウンドマネージャ(Java版)用オーディオ再生モジュール
Audio.class
・マウスハンドラ
MouseHandler.js Release 1
・キーハンドラ
KeyHandler.js Release 1
★スプライトマネージャ
cssを使い、ブラウザでスプライト的に画像を制御するためのマネージャです。SpriteManager.jsをインポートしてください。
例:
内部にSpriteクラスが定義してあります。必ずbody内の、スプライトを描画したい箇所でSpriteクラスのインスタンスを生成してください。そこに、スプライトを描写するフレームが生成されます。
スプライトパターン
描画する画像を指します。使用できるフォーマットは、ブラウザのImageオブジェクト(imgタグ)で使用できるものに相当します。一度画像ファイルをパターンとして登録すると、後はそのスプライトパターン番号で制御できます。
スプライトプレーン
画像の表示状態や座標などを管理します。一つのスプライトプレーンには一つのスプライトパターンを関連付け、制御を行います。
スプライトフレーム
複数のプレーンを束ね、重ね合わせ処理を行うスプライトの描画領域です。1 html内で複数のスプライトフレームを生成することも可能です。
バックグラウンド機能はありませんが、複数のスプライトフレームを重ね合わせて制御することで、似たような制御はできます(球面スクロール機能は実装していません)。
★サウンドマネージャ
MediaPlayer 6.2のインターフェースを利用し、サウンド(主に効果音)を制御するためのマネージャです。SoundManager.jsをインポートしてください。
例:
Release 3から、Javaの再生モジュールを利用したサウンド制御マネージャが追加されました。SoundManagerJ.jsをインポートし、Audio.classを同じフォルダに置いてください。使用方法はMediaPlayer版と同じです。
内部にSoundクラスが定義してあります。必ずbodyタグ内でSoundクラスのインスタンスを生成してください。
再生できるフォーマットは、MediaPlayerが対応しているものに相当します。サウンドファイルを登録した後、サウンド番号で制御します。Java版の場合は、au,wav,aiffなどが再生できますが、クライアントにインストールされているJavaVMのバージョンによっては、auしか再生できないかもしれません。状況に応じて、MediaPlayer版とJava版のどちらかを使用してください。
★マウスハンドラ
マウスのボタン押下、移動、解放イベントを簡単にハンドルできます。MouseHandler.jsをインポートしてください。
例:
内部にMouseHandlerクラスが定義してあります。指定したイベントが発生したとき、ユーザー設定の関数に座標が送られます。
★キーハンドラ
キーの押下、入力、解放イベントを簡単にハンドルできます。KeyHandler.jsをインポートしてください。
例:
内部にKeyHandlerクラスが定義してあります。指定したイベントが発生したとき、ユーザー設定の関数にキーコードが送られます。ゲームに特化しているので、CtrlやShiftの併用状態などは取得できません。
●リファレンス
★Spriteクラス
コンストラクタ
body内の、スプライトを描画したい場所でインスタンスを生成すること
Sprite( pattern, plane, width, height, pos );
pattern スプライトパターン数
plane スプライトプレーン数
width スプライトフレーム幅
height スプライトフレーム高さ
pos スプライトフレームのstyleのposition属性
"relative" 現在位置を基準
"absolute" 親タグ内座標
moveframe( x, y );
x X座標
y Y座標
スプライトフレームの左上座標を設定する。基準はコンストラクタに渡したposに準じる。初期値は(0,0)。
define( patternno, filename );
patternno スプライトパターン番号
filename 画像ファイル
patternnoで指定したスプライトパターンに、画像をロードする。画像はブラウザのImageオブジェクト(imgタグ)で扱えるタイプ。
set( planeno, patternno );
planeno スプライトプレーン番号
patternno スプライトパターン番号
patternnoで指定したスプライトパターンを、planenoで指定したプレーンに設定する。
move( planeno, x, y );
planeno スプライトプレーン番号
x X座標
y Y座標
planenoで指定したスプライトプレーンの左上を、座標(x,y)へ移動する。
moveset( planeno, x, y, patternno );
planeno スプライトプレーン番号
x X座標
y Y座標
patternno スプライトパターン番号
patternnoで指定したスプライトパターンを、planenoで指定したプレーンに設定し、座標(x,y)へ移動する。
show( n1, n2 );
n1 開始スプライトプレーン番号
n2 終了スプライトプレーン番号
n1で指定したスプライトプレーンから、n2で指定したスプライトプレーンまでを表示状態にする(n1<=n2)。プレーンの初期状態は非表示。
hide( n1, n2 );
n1 開始スプライトプレーン番号
n2 終了スプライトプレーン番号
n1で指定したスプライトプレーンから、n2で指定したスプライトプレーンまでを非表示状態にする(n1<=n2)。プレーンの初期状態は非表示。
resize( planeno, width, height );
planeno スプライトプレーン番号
width スプライトパターン幅
height スプライトパターン幅
planenoで指定したスプライトプレーンに設定されたパターンを、widthとheightで指定したサイズで表示する。set()またはmoveset()でプレーンにパターンを設定すると、そのパターンのサイズで初期化される。
offsetx();
戻り値 スプライトフレームのドキュメント内左上X座標
offsety();
戻り値 スプライトフレームのドキュメント内左上Y座標
display( show );
show 表示状態
スプライトフレームの表示状態を変更する。showがtrueの時表示、falseの時は非表示となる。
backgroundImage( filename );
filename 画像ファイル
スプライトフレームの背景画像を指定する。
backgroundColor( color );
color カラー名
スプライトフレームの背景色を指定する。colorはhtmlのカラー名か、#rrggbb形式の文字列で指定する。
isPatternLoadComplete();
戻り値 全て読み込まれている時true、そうでない時false(障害等で読み込まれない場合含む)。
現在スプライトパターンにセットされている画像が全て読み込まれたかを問い合わせる。
★Soundクラス
コンストラクタ
body内でインスタンスを生成すること
Sound( num );
num サウンド数
set( soundno, filename );
soundno サウンド番号
filename サウンドファイル
soundnoで指定した番号に、サウンドを割り当てる。サウンドはMediaPlayerで扱えるタイプ。
play( soundno );
soundno サウンド番号
soundnoで指定した番号のサウンドを再生する。
stop( soundno );
soundno サウンド番号
soundnoで指定した番号のサウンドを停止する。
★MouseHandlerクラス
コンストラクタ
MouseHander();
set( type, func );
type ハンドルするマウスイベント
MH_MOUSEDOWN マウス押下
MH_MOUSEMOVE マウス移動
MH_MOUSEUP マウス解放
func イベントを受け取るユーザー関数
func( x, y );
x マウスのドキュメント内X座標
y マウスのドキュメント内Y座標
イベントを処理した場合はfalseを、そうでない場合はtrueを返す
★KeyHandlerクラス
コンストラクタ
KeyHander();
set( type, func );
type ハンドルするキーイベント
KH_KEYDOWN キー押下
KH_KEYPRESS キー入力
KH_KEYUP キー解放
func イベントを受け取るユーザー関数
func( keycode );
keycode キーコード
例:←:37 ↑:38 →:39 ↓:40 スペース:32 テンキー0:96〜9:105
イベントを処理した場合はfalseを、そうでない場合はtrueを返す
●著作
JavaScript GAME Development Kitおよびスプライトマネージャ、サウンドマネージャ、マウスハンドラ、キーハンドラは、菊地功(きくちいさを)の著作物です。以下の条件を満たす限り、自由にご利用頂けます。
1.本パッケージの配布に関して、一切の金銭の授受のないこと(手数料等含む)。
2.本パッケージの再配布時に、一切の改変を加えないこと。
3.不具合等が見つかった場合、速やかに著作者へ報告すること。
4.本パッケージの何らかの不具合により利用者が損害を蒙ったとしても、著作者は一切の責任を負わないものとする。
5.直接的・間接的を問わず、著作者に何らかの害を及ぼすような利用は禁止する。
6.本パッケージを利用して製作されたゲーム等の商用利用は、特に規制はしない。
製作・著作 (c)2004 菊地功
e-mail kisawo@hinix.com
URL http://www.hinix.com/