You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Phaser中设置visible为true时图片无法显示的问题求助

通过对象引用控制Phaser图片显示的问题解决

问题描述

我希望游戏启动时图片处于隐藏状态,之后在屏幕上显示,后续再隐藏。代码步骤如下:

  • 在create函数中创建图片并设置隐藏:
sign1Info = this.add.image(200, 200, "sign1").setScale(4);
sign1Info.visible = false;
  • 在create函数中将图片存入对象:
sign_dict = {"sign1" : sign1Info};
  • 在update函数中尝试通过对象设置图片显示:
sign_dict[signName].visable = true;

遇到的问题:Firefox开发者工具显示visible属性已变为true,但图片仍未在屏幕上显示,仅当直接写sign1Info.visible = true;时才有效。请问如何通过对象方式让图片显示?

解决方案

问题出在拼写错误——你把Phaser图片的visible属性写成了visable(正确拼写是visible,少写了一个s)。

浏览器会允许你给对象添加不存在的visable属性,开发者工具也会显示这个属性为true,但Phaser的渲染逻辑只会识别正确的visible属性来控制图片显示。修改update函数里的代码即可解决:

sign_dict[signName].visible = true;

内容的提问来源于stack exchange,提问作者AshBoomstick1

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 08:59:58