#

jgame.js is opensource javascript(typescript) game framework for html5 canvas.
jgame.jsはオープンソースのHTML5向けjavascript（TypeScript)ゲームフレームワークです。MITライセンスなので、商用非商用を問わずご自由にご利用いただけます。

## 基本的なクラス

- Hello world - 最初の一歩
- Sprite - 基本的な画像表示
- FrameSprite - アニメーション前提の画像表示
- Character - より一般的な画像表示
- Label - 文字表示
- Shape - 図形表示
- Tile - マップ
- Layer - レイヤー管理
- Scene - シーン管理
- キーボード入力処理
- ポインティングデバイス入力処理

## PlayGround

基本的なクラスをざっと見たら、実際にPlayGroundを通してやってみるのがいいでしょう。
TypeScript、JavaScript、いずれの場合でもブラウザ上から実行できます。
http://jgame-js.sourceforge.jp/playground/

## 慣れてきた人向けのサンプル

- 拡張描画
  - Line
  - ベクター図形
- ウィンドウ
  - UIWindowクラス
  - UIWindowクラスの応用
  - MessageWindowクラス
- アニメーション
  - 準備中...
- 描画オプション
  - 基本的な描画オプション
- エフェクト
  - 色フィルタ
  - 画像フィルタ
  - フィルタ+BufferedRenderer
  - フィルタ+createSprite, createImage
  - 場面切り替えエフェクト
  - Entityへのフィルタ適用によるエフェクト
  - ユニバーサルトランジション
  - Entity+ユニバーサルトランジション
- サウンド
  - 組み込み機能による最低限のサウンド再生
  - SoundJSによるサウンド再生
  - SoundManager2によるサウンド再生

## 上級者向けサンプル

- より複雑な描画
  - 子要素
  - 子要素を先に描画する
  - 描画順制御
  - 線形グラデーション
  - 円形グラデーション
  - パターン描画
  - クリッピング領域
  - Pixel操作
  - Layerの継承
- モジュール
  モジュール読み込み（box2dモジュール例）
- DOMコンテナ
  - DOMコンテナの利用
  - 複数ゲームの同時起動
  - Blogなどにミニゲームとして配置する
- 画面サイズ
  - ウィンドウに合わせる
  - フルスクリーン
- リソース
  - 外部リソースの取得
  - リソース構造の変更
  - ローディングシーンのカスタマイズ（外部リンク）
- バッファ活用
  - BufferedRenderer
  - スクリーンショット
  - TileのSprite変換
  - EクラスのcreateSprite
- ゲーム付随機能
  - モード管理
  - FPS制御
  - シード値付き乱数
  - ユーザ定義イベント
- 描画オプション
  - 転送描画（基本）
  - 直接描画
  - フリップ描画
  - 直接描画+クリア無し（最速）
  - crisp-edges

## サンプルゲーム

- シューティングゲーム
  - 横スクロールシューティング
  - 縦スクロールシューティング
- Box2D
  - 物理アクションパズル
- アドベンチャー
  - アドベンチャーデモ
- RPG
  - Tileクラスを利用したRPG向けマップ

## その他の文書

- APIリファレンス
  - APIリファレンス（日本語） - 現在更新されておりません。
    ※APIリファレンスが更新されていないため、最新のAPI情報はsrc/lib以下にあるTypeScript用定義ファイル、jgame.d.tsを通して確認するのを推奨しています。
- Projectホームページ
- Project wiki
- Games
  - 不思議のすごろく