このプロジェクトについて
Litecanvasは、小さなWebゲーム、プロトタイプ、ゲームジャム、アニメーション、クリエイティブコーディング、ゲームプログラミング学習を目的とした軽量なHTML5キャンバス2Dエンジンです。このプロジェクトはアルファ版としてマークされているため、破壊的な変更が発生する可能性があります。
READMEに記載されている主な特徴は以下の通りです。
- フットプリントが小さい:minifyおよびgzip圧縮で約4KB。
- シンプルなAPI:図形描画用の小さな関数群とユーティリティヘルパー。
- サウンドエフェクトの再生または作成のためのZzFX統合。
- litecanvasキーワードで公開されているプラグインによる拡張が可能。
- ゲームのコーディングと共有のためのWebプレイグラウンド。オフラインでも使用可能。
開始方法のオプションには、unpkgまたはjsDelivrからの直接のHTMLスクリプトタグ、Node/NPMユーザー向けのESMテンプレート、ブラウザプレイグラウンドが含まれます。エンジンは、width、height、init、update、drawコールバックを持つloopオブジェクトなどの設定を受け入れるlitecanvas()エントリポイントを公開しています。updateとdrawは毎秒60回実行されると説明されています。
APIは以下をカバーしています。
- インデックスでアドレス指定されるデフォルトの4色パレット。pal()でカスタマイズ可能。
- text()によるテキストレンダリング。複数行の文字列に対応。
- 図形描画:rect、rectfill、circ、circfill、oval、ovalfill。
- 文字がパレット色にマップされ、ドットが透明になる文字列から定義されるスプライト。
- 繰り返し描画のキャッシュとして便利なpaint()によるオフスクリーンイメージ作成。さらに、image()で読み込んだPNG/JPGファイルの描画。
- 入力処理:キーボード用のiskeydown、iskeypressed、lastkey。クリックとタッチ用のtappedコールバック。マウス位置用のMXおよびMY変数。
- キャンバスサイズ、経過時間、角度定数用のグローバル変数W、H、T、PI、TAU。
プロジェクトサイトのチートシートに完全なAPIがリストされています。リポジトリには、バウンドボール、スクローラー、3D投影、レンダリングベンチマークなどのサンプルデモが含まれており、samplesフォルダにさらに多くのものがあります。複数の画像、フォント、オーディオファイルを読み込むには、アセットローダープラグインが推奨されています。
貢献手順には、フォークとクローン、npmでの依存関係のインストール、フォーマット、テストの追加、プルリクエストを開く前のテストスイートの実行が含まれます。ローカル開発にはNode.jsが必要です。READMEは、floppy、PICO-8、js13kGames、raylib、p5.js/Processing、Pygame Zeroからのインスピレーションをクレジットしています。
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.