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

Phaser.js中如何正确获取已加载图片的属性

Phaser.js 获取已加载图片属性的规范实现

直接访问__BASE这类以下划线开头的内部私有变量兼容性极差,框架版本迭代时内部字段随时可能调整,直接用官方公开API即可实现相同效果,且跨版本兼容有保障:

  • 获取整张原图的原始尺寸
const imageTexture = game.textures.get("imageA");
// 单张加载的图片默认source索引0对应原始图源
const originWidth = imageTexture.source[0].width;
const originHeight = imageTexture.source[0].height;
console.log("width", originWidth);
  • 获取纹理指定帧的尺寸(包含整图默认帧、精灵图切分的自定义帧)
    调用Texture实例的公开get()方法拿到对应Frame实例,直接访问Frame的公开宽高属性即可,不需要碰内部私有字段:
const imageTexture = game.textures.get("imageA");
// 不传参数默认取整图的基础帧,和你之前访问私有属性拿到的结果完全一致
const baseFrame = imageTexture.get();
console.log("width", baseFrame.width, "height", baseFrame.height);

// 如果是精灵图集里的自定义帧,传入帧名/帧索引即可获取对应帧属性
const targetFrame = imageTexture.get("yourFrameName");

注意:Phaser所有对外暴露的实例属性和方法都可直接调用,所有以单下划线、双下划线开头的属性都属于内部实现字段,非特殊情况不要直接访问,避免后续版本升级出现代码报错。

内容的提问来源于stack exchange,提问作者李孟昇

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 09:06:20