remix-add-sprite について
remix-add-sprite は、Remix 上の Canvas ゲーム向けにスプライトシートを生成し、組み込むためのスキルです。シートの生成からゲーム内でのフレーム描画までを案内します。
主な機能
- 01スプライトシートの生成
- 02プロンプトとグリッドサイズの指定
- 03透明背景のスプライト URL の取得
- 04Canvas drawImage による組み込み
- 05グリッド情報に基づくフレーム計算
活用シーン
- 01ゲームキャラクターのアニメーション作成
- 02ゲーム背景へのスプライト重ね合わせ
- 03生成したシートの Canvas ゲームへの追加
MCP 対応
スプライトシートの生成には MCP の generateSpriteSheet ツールを優先し、返された画像 URL とグリッド情報を組み込みに利用します。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ farworld-labs/ remix-skills --skill remix-add-spriteインストール後、Claude Code で/remix-add-spriteを入力して読み込まれたか確認します。
詳細
ゲームワークフローにスプライトを追加する
概要
このスキルでは、Remix プラットフォーム上でキャンバスベースのゲーム向けスプライトシートを生成する方法を説明します。
前提条件
- ゲームの HTML ファイルがすでに存在している必要があります(最初から作成する場合は、先に game-creation ワークフローに従ってください)。
- Remix プラットフォーム上でゲームを作成している必要があります(ゲーム ID が必要です)。
REMIX_API_KEY環境変数が設定されている必要があります。
手順
1. 既存のゲーム ID を確認する
利用できる場合は、タスクコンテキストまたは以前のツール結果にある gameId を使用します。
それ以外の場合は、最も近い .remix-cli.json を読み込みます。古いプロジェクトでは、引き続き .remix-mcp.json が使われている場合があります。どちらかに gameId が含まれている場合は、それを再利用します。
これらの情報源のいずれにも gameId が含まれていない場合に限り、upload-game ワークフローに従って作成してください。
2. スプライトシートを生成する
MCP の generateSpriteSheet を優先してください。
generateSpriteSheet({
gameId: "<your-game-id>",
prompt: "a pixel-art knight walking, side view, 2D game character",
gridSize: 4
})
レスポンスには、ホストされた spriteUrl、transparentSpriteUrl、グリッドのメタデータ、警告が含まれます。代わりに REST 呼び出しを記述する必要がある場合は、まず OpenAPI 仕様で正確なスキーマを確認してください。
3. スプライトシートをゲームに組み込む
返された URL を使い、キャンバスの drawImage で個々のフレームを描画します。
const sprite = new Image();
sprite.src = "https://returned-sprite-url.png";
const frameWidth = 64; // width of a single frame
const frameHeight = 64; // height of a single frame
const totalFrames = 4;
let currentFrame = 0;
sprite.onload = () => {
function animate() {
ctx.clearRect(0, 0, canvas.width, canvas.height);
// Draw the current frame from the sprite sheet
ctx.drawImage(
sprite,
currentFrame * frameWidth, 0, // source x, y in the sprite sheet
frameWidth, frameHeight, // source width, height
player.x, player.y, // destination x, y on canvas
frameWidth, frameHeight // destination width, height
);
currentFrame = (currentFrame + 1) % totalFrames;
requestAnimationFrame(animate);
}
animate();
};
背景なしで他のゲーム要素の上にスプライトを描画する場合は、transparentSpriteUrl を使用してください。
ヒント
- フレーム数とアクションを具体的に指定してください。 「歩くキャラクター」より「4フレームの歩行サイクル」のほうが適切です。
- アートスタイルを指定してください。 プロンプトに「pixel-art」、「hand-drawn」、「flat vector」などを含めます。
- フレームのレイアウトは、返されたグリッドのメタデータに従います。 横一列のストリップだと決めつけず、生成されたシートと指定した
gridSizeからフレームの幅と高さを計算してください。 - 背景や他の要素に重ねる必要があるゲーム内スプライトには、
transparentSpriteUrlを使用してください。 - ゲームプレイの前にプリロードしてください。 ゲームループを開始する前に
onloadを待ちます。