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/