在 LOGO 场景中, VM_REPLACE_TILE 会在屏幕上绘制错误位置的图像
作者: guilleCrespo创建于 2026年9月16日更新于 2026年9月16日
标签bug
**描述错误** 操作 VM_REPLACE_TILE 在游戏忙碌时,在 LOGO SCENE 中将背景图像绘制在错误的位置,如果游戏不忙碌,则操作会按照预期的方式工作,将图像绘制在正确的位置。这里所说的忙碌是指,其他角色正在进行更新,或者如果将 VM_REPLACE_TILE 置于 IF 语句中。例如,如果将操作的 TARGET_TILE_IDX 设置为 0,则它将在屏幕顶部的图像 0 中绘制图像。但是,如果游戏忙碌,则它将在另一个位置完全绘制图像,通常是在 VRAM 的下一块区域(用于精灵/背景的区域或专用于背景图像的区域)。当它这样做时,TARGET_TILE_IDX 为任何其他数值都无关紧要。它似乎将图像绘制在内存中错误区块的第一个图像空间中。 这种情况也可能发生在操作位于 IF 语句中。我发现的一种缓解方法是将 IDLE 事件放置在 IF 和 VM_REPLACE_TILE 之间,以便操作有一帧时间“呼吸”。然后,它将正确地绘制图像。 我尚未在任何其他场景类型中重现此问题,因此据我所知,它在其他地方并不是一个问题。
内容来源: chrismaltby/gb-studio