mcpField
R
remix-add-image

remix-add-image

github.com/farworld-labs创意与媒体58 次安装
代码仓库

关于 remix-add-image

remix-add-image 是一份工作流技能,指导为 Remix 游戏生成图片,并将托管 URL 加入游戏 HTML。它介绍如何先检查已有游戏 ID,再用 MCP 生成并上传图片,并按合适尺寸集成结果。

主要功能

  1. 01使用 `generateImage` 生成并上传图片
  2. 02复用已有游戏 ID
  3. 03在游戏 HTML 中集成托管 URL
  4. 04提供 HTML、CSS 和 canvas 用法指南

适用场景

  1. 01为游戏添加生成的美术图片
  2. 02设置 canvas 游戏背景
  3. 03使用生成的精灵表
  4. 04按游戏对象尺寸显示资源

MCP 相关

该技能推荐使用 MCP `generateImage`,在单步操作中生成并上传图片,随后返回托管 URL。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/farworld-labs/remix-skills --skill remix-add-image

安装后在 Claude Code 中输入/remix-add-image确认已加载。

详细介绍

将图像添加到游戏工作流

概述

本技能将指导你生成 AI 图像,并将其托管 URL 集成到游戏 HTML 中。优先使用 MCP generateImage,它现在可以一步完成生成和上传。

前提条件

  • 游戏 HTML 文件必须已存在(如果从头开始,请先遵循 game-creation 工作流)。
  • 必须已在 Remix 平台上创建游戏(你需要游戏 ID)。
  • 必须已配置 MCP 身份验证或 CLI 身份验证。

步骤

1. 检查现有游戏 ID

重要:务必先检查,切勿创建新游戏。

如果任务上下文或之前的工具结果中有 gameId,请使用该值。

否则,读取最近的 .remix-cli.json。较旧的项目可能仍使用 .remix-mcp.json。如果其中任意一个文件包含 gameId,请重复使用。

只有在这些来源中都找不到 gameId 时,才应遵循 upload-game 工作流来创建一个。

2. 生成图像

推荐的 MCP 流程:

generateImage({
  gameId: "<your-game-id>",
  prompt: "a pixel-art treasure chest on a grassy hill",
  fileName: "treasure-chest"
})

该工具会直接返回托管资源 URL。无需 Base64 载荷,也无需单独执行资源上传步骤。

如果你要直接编写 REST 调用,而不是使用 MCP,请先从 https://api.remix.gg/docs/json 获取准确的路径和响应格式。

3. 上传为游戏资源

使用 MCP generateImage 时可跳过此步骤;该工具已上传生成的图像并返回托管 URL。

如需上传非图像资源(音频、3D 模型),请参阅 remix-upload-asset 技能。

4. 将 URL 集成到游戏中

将资源 URL 添加到游戏 HTML 中。图像大小应与其代表的游戏实体相匹配——不要以原始分辨率渲染。例如,如果宝箱在游戏中占据一个 32x32 的图块,就应以 32x32 绘制或显示图像,而不受源图像尺寸影响。

集成方式取决于图像的用途:

作为 HTML 图像元素:

<img src="https://returned-asset-url.png" alt="Treasure chest" width="32" height="32" />

作为 CSS 背景:

.game-bg {
  background-image: url("https://returned-asset-url.png");
}

作为 JavaScript 加载的图像(用于 canvas 游戏):

const img = new Image();
img.src = "https://returned-asset-url.png";
img.onload = () => {
  // draw at the entity's size, not the image's native size
  ctx.drawImage(img, x, y, entityWidth, entityHeight);
};

示例

为 Canvas 游戏添加背景
const bg = new Image();
bg.src = "https://uploaded-asset-url/background.png";
bg.onload = () => {
  function draw() {
    ctx.drawImage(bg, 0, 0, canvas.width, canvas.height);
    // draw game objects on top...
    requestAnimationFrame(draw);
  }
  draw();
};
添加精灵表
const spriteSheet = new Image();
spriteSheet.src = "https://uploaded-asset-url/player-sprites.png";
spriteSheet.onload = () => {
  // draw a 32x32 frame from the sprite sheet
  ctx.drawImage(spriteSheet, frameX, frameY, 32, 32, player.x, player.y, 32, 32);
};

提示

  • **提示词要具体。**写明艺术风格、配色方案和背景信息(例如“像素风 16 位风格的红龙”)。无需指定透明度或背景处理方式——服务端会处理。
  • **在游戏开始前预加载图像。**等待 onload 后再启动游戏循环,以避免闪烁或资源缺失。
  • **多个图像请重复操作。**游戏所需的每张图像都执行步骤 2-4。

评论

支持 Markdown