このプロジェクトについて

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からのインスピレーションをクレジットしています。