melonJSを使ったゲーム制作で、目的に合う専門ガイドを選ぶための入口です。初期化から描画、入力、物理演算、音声、2D・3D機能まで案内します。
- melonJSで作る内容に合うガイドを探したいとき
- 新しいゲームの初期化手順を知りたいとき
- 3Dやモデル読み込みの参照先を探したいとき
melonJSゲームのWeb向けビルドやネイティブアプリ化、ミニゲーム配信に向けた準備を進め、ブラウザー対応や容量の注意点も確認できます。
Use this skill when packaging, shipping or scaffolding a melonJS game — starting a project with create-melonjs, building for the web, wrapping as a native app with Capacitor or Cordova, publishing to WeChat Mini Games or Facebook Instant Games, browser support and transpiling. Triggers on: create-melonjs, scaffold, new project, build, deploy, publish, Capacitor, Cordova, native app, iOS, Android, WeChat, Instant Games, browser support, transpile, ES2022, bundle size, tree-shaking.
実行スコア 未検証
インストール方法を見るmelonJSゲームを開発環境から配布できる形に整える手順を扱います。create-melonjsでのプロジェクト作成、既存プロジェクトへの導入、Web向けビルドの考え方を確認できます。iOS・Android向けにはCapacitorやCordovaで包む方法、WeChat Mini GamesやFacebook Instant Gamesで考慮する点も説明します。公開バンドルはES2022を対象とするため、古いブラウザーに対応する場合はmelonJSも含めたトランスパイルが必要です。構文変換だけでは組み込みメソッドのポリフィルは追加されない点や、エンジン容量とアセット最適化の考え方も取り上げます。
新しいゲームの土台を用意したいとき、既存サイトやアプリにmelonJSを追加するとき、モバイル配布やミニゲーム向けの対応を検討するときに役立ちます。対象ブラウザーで読み込めない原因や、ネイティブ環境でアセットが取得できない問題を確認する際にも使えます。
古いブラウザーでは構文変換に加えて必要なポリフィルを別途用意します。ネイティブ環境ではゲーム内のfetch()がfile://上のローカルファイルを読めない場合があります。
この紹介文は、公開されている SKILL.md をもとに AI(OpenAI Codex)が作成しました。正確な仕様は下の原文を確認してください。
インストールする前に、エージェントに与えられる指示の中身を確認できます。
Start from the template rather than assembling a build by hand:
npm create melonjs@latest my-game
The project name is required — without it the command prints its usage and exits. It downloads the melonJS TypeScript boilerplate (Vite, TypeScript and the debug plugin already wired in), which saves you the top-level-await and asset-path issues that a hand-rolled config usually hits first.
npm install melonjs
import { Application, Sprite, loader } from "melonjs";
The package is a tree-shakeable ES module with TypeScript declarations included and no runtime dependencies.
A CDN build exists for quick experiments, but not for production:
<script type="module">
import { Application } from "https://cdn.jsdelivr.net/npm/melonjs@20/+esm";
</script>
The published bundle targets ES2022 and uses private class members. A browser that predates that cannot parse the file at all — it fails at load, not when a feature is used, so the symptom is a blank page with a syntax error.
To support older browsers, transpile melonJS together with your own code.
The usual trap is that build setups skip node_modules by default, leaving
melonJS untouched however low you set your target:
// vite.config.js — esbuild downlevels dependencies too
export default { build: { target: "es2020" } };
// webpack: the default `exclude: /node_modules/` would skip melonjs
{ test: /\.js$/, exclude: /node_modules\/(?!melonjs)/, use: "babel-loader" }
Two caveats worth knowing:
target setting will never add them.WeakMap lookups, and melonJS uses
them in the renderer's hot paths. This is a real trade, not a free switch.Capacitor is the current recommendation for iOS and Android — see
@melonjs/capacitor-plugin. Cordova also works and is documented, but is the
older route.
The thing that breaks first in both is asset loading: the app is served from
file://, where fetch() cannot read local files. melonJS's loader falls back
to XHR for that scheme, so engine-loaded assets work — but any fetch() in
your game code will fail there.
WeChat Mini Games and Facebook Instant Games are both documented in the
wiki. Note that device.platform.isWeixin detects WeChat's in-app browser,
which is a normal WebView. WeChat Mini Games are a different runtime with no
DOM, and need platform-specific adaptation rather than just detection — the one
hook the engine offers is that the renderer adopts a globalThis.canvas when
the runtime's adapter provides one, instead of creating its own.
The whole engine is roughly 250 KB minzipped. Tree-shaking helps less than you might expect — the engine's subsystems reach each other, so a game importing a handful of symbols still pulls most of it. Budget for the full figure.
Practical wins are in assets, not the engine: pack sprites into atlases, prefer
one tileset over several, and use stream: true for long music tracks so they
are not decoded into memory.
| symptom | cause |
|---|---|
| blank page, syntax error in the console | browser older than the ES2022 target |
| transpiling changes nothing | build config excludes node_modules |
| assets 404 in a packaged native app | fetch() in game code — file:// needs XHR |
| a built-in method is missing after transpiling | transpiling is syntax-only; polyfills are separate |
| bundle much larger than expected | tree-shaking recovers little — subsystems are interconnected |
melonjs — the companion packages, including the Capacitor pluginmelonjs-getting-started — the Application bootstrap the template producesまだレビューはありません。使ってみた感想をお寄せください。
ログインなしで書き込めます。使ってみた感想、質問、動かなかった環境などを気軽にどうぞ。
まだコメントはありません。最初のコメントを書いてみませんか。
melonJSを使ったゲーム制作で、目的に合う専門ガイドを選ぶための入口です。初期化から描画、入力、物理演算、音声、2D・3D機能まで案内します。
melonJS 19.x以前の知識を20.x向けに更新し、初期化や描画効果、廃止・非推奨APIの変更点を確認して移行時の不具合を調べられます。
melonJSの3D・2.5Dゲーム向けに、カメラ、メッシュ、ライト、奥行き順、透明表現やフォグの設定と座標系の注意点を確認できます。
melonJSでglTF・GLBやOBJ・MTLの3Dモデルを読み込み、マテリアルやライト、アニメーション、影、インスタンスの扱い方を確認できます。
melonJSで効果音やBGMを読み込み、再生・停止・音量調整するほか、位置に応じた音や音声合成、ミックス全体へのエフェクト設定を扱うスキルです。
melonJSのカメラ追従や画面効果、座標変換、図形描画を実装する際の要点を確認できます。描画のクリッピングやCanvasへの焼き込み、ピクセルの読み出しも扱います。