Texture

.Textures. Texture

纹理由一个源(通常是缓存中的图像)和一组帧组成. 框架代表纹理的不同区域.例如纹理图谱 可能有许多框架,地图集内的每个元素一个.就像一张图片一样 只有一帧,包含了整个图像. 每一个纹理,无论它来自哪里,总是至少有一个帧被称为 `__BASE` 帧. 此帧代表整个源图像. 纹理由全局纹理管理器管理.这是一个单独的类 负责创建纹理并将其对应的框架传递给游戏对象. 精灵和其他游戏对象从纹理管理器获得他们需要的纹理数据.

Constructor

new Texture(manager, key, source, widthopt, heightopt)

Since:
  • 3.0.0
Parameters:
Name Type Attributes Description
manager Phaser.Textures.TextureManager 该纹理所属的纹理管理器的引用.
key string 此纹理的唯一基于字符串的键.
source HTMLImageElement | HTMLCanvasElement | Array.<HTMLImageElement> | Array.<HTMLCanvasElement> 用于创建纹理的源的数组.通常是图像,但也可以是画布.
width number <optional>
纹理的宽度.这是可选的,并且是从源图像自动导出的.
height number <optional>
纹理的高度.这是可选的,并且是从源图像自动导出的.

Members

customData :object

Since:
  • 3.0.0
在源JSON中设置的任何附加数据(如果有), 或者任何你想存储的关于这个纹理的额外数据
Type:
  • object

dataSource :array

Since:
  • 3.0.0
TextureSource数据实例的数组. 用于存储附加数据图像,如法线贴图或镜面贴图.
Type:
  • array

firstFrame :string

Since:
  • 3.0.0
纹理第一帧的名称.
Type:
  • string

frames :object

Since:
  • 3.0.0
将唯一的帧键与帧对象相关联的键值对象对.
Type:
  • object

frameTotal :number

Since:
  • 3.0.0
Default Value:
  • 0
此纹理中的帧总数,包括 `__BASE` 帧. 一个纹理将总是包含至少一个帧,因为默认情况下每个纹理包含一个 `__BASE` 帧, 除了已经添加到它的任何额外的帧之外,例如当解析精灵表或纹理图谱时.
Type:
  • number

key :string

Since:
  • 3.0.0
此纹理的唯一基于字符串的键.
Type:
  • string

manager :Phaser.Textures.TextureManager

Since:
  • 3.0.0
该纹理所属的纹理管理器的引用.
Type:

source :Array.<Phaser.Textures.TextureSource>

Since:
  • 3.0.0
TextureSource实例的数组. 这些是这个纹理特有的,包含实际的图像(或画布)数据.
Type:

Methods

add(name, sourceIndex, x, y, width, height) → (nullable) {Phaser.Textures.Frame}

Since:
  • 3.0.0
向此纹理添加新框架. 框架是纹理资源的矩形区域,具有唯一的索引或基于字符串的键. 给定的名称在此纹理中必须是唯一的.如果它已经存在,此方法将返回 `null` .
Parameters:
Name Type Description
name number | string 此框架的名称.该名称在纹理中是唯一的.
sourceIndex number 此框架所属的纹理资源的索引.
x number 此框架左上角的x坐标.
y number 此框架左上角的y坐标.
width number 此框架的宽度.
height number 此框架的高度.
Returns:
添加到此纹理的帧,如果给定的名称已经存在,则为 `null` .
Type
Phaser.Textures.Frame

destroy()

Since:
  • 3.0.0
销毁此纹理并释放对其源和帧的引用.

get(nameopt) → {Phaser.Textures.Frame}

Since:
  • 3.0.0
基于帧的关键点或索引从该纹理获取帧. 在纹理图谱中,帧通常由一个关键点引用. 在子画面工作表中,帧由索引引用. 不传递名称值将返回基本纹理.
Parameters:
Name Type Attributes Description
name string | number <optional>
从该纹理获取的帧的基于字符串的名称或基于整数的索引.
Returns:
纹理框架.
Type
Phaser.Textures.Frame

getDataSourceImage(nameopt) → {HTMLImageElement|HTMLCanvasElement}

Since:
  • 3.7.0
给定一个框架名称,返回用于渲染的数据源图像. 例如,您可以使用它来获取图像的法线贴图. 这将返回实际的DOM图像.
Parameters:
Name Type Attributes Description
name string | number <optional>
从该纹理获取的帧的基于字符串的名称或基于整数的索引.
Returns:
DOM图像或画布元素.
Type
HTMLImageElement | HTMLCanvasElement

getFrameNames(includeBaseopt) → {Array.<string>}

Since:
  • 3.0.0
返回一个包含该纹理中所有帧名称的数组. 如果你想随机分配一个框架给一个游戏对象,这很有用 从返回的数组中选择一个随机元素.
Parameters:
Name Type Attributes Default Description
includeBase boolean <optional>
false 在输出数组中包含 `__BASE` Frame?
Returns:
该纹理中所有框架名称的数组.
Type
Array.<string>

getFramesFromTextureSource(sourceIndex, includeBaseopt) → {Array.<Phaser.Textures.Frame>}

Since:
  • 3.0.0
返回给定纹理资源中所有帧的数组.
Parameters:
Name Type Attributes Default Description
sourceIndex number 从中获取框架的纹理资源的索引.
includeBase boolean <optional>
false 在输出数组中包含 `__BASE` Frame?
Returns:
纹理框架的数组.
Type
Array.<Phaser.Textures.Frame>

getSourceImage(nameopt) → {HTMLImageElement|HTMLCanvasElement|Phaser.GameObjects.RenderTexture}

Since:
  • 3.0.0
给定一个框架名称,返回它用来渲染的源图像. 这将返回实际的DOM图像或画布元素.
Parameters:
Name Type Attributes Description
name string | number <optional>
从该纹理获取的帧的基于字符串的名称或基于整数的索引.
Returns:
DOM图像,画布元素或渲染纹理.
Type
HTMLImageElement | HTMLCanvasElement | Phaser.GameObjects.RenderTexture

getTextureSourceIndex(source) → {number}

Since:
  • 3.0.0
获取给定的纹理资源,并返回它在该纹理中的索引. 如果它不在这个纹理中,它返回-1. 除非这个纹理有多个纹理资源,比如一个多重贴图,否则这个 方法将总是返回零或-1.
Parameters:
Name Type Description
source Phaser.Textures.TextureSource 要检查的文本资源.
Returns:
The index of the TextureSource within this Texture, or -1 if not in this Texture.
Type
number

has(name) → {boolean}

Since:
  • 3.0.0
检查该纹理中是否存在与给定关键帧匹配的帧.
Parameters:
Name Type Description
name string 要检查的框架的键.
Returns:
如果此纹理中存在具有匹配关键点的帧,则为True.
Type
boolean

remove(name) → {boolean}

Since:
  • 3.19.0
从此纹理中移除给定的帧.框架立即被破坏. 任何使用此框架的游戏对象都应该在移除之前停止使用它, 因为它不会自动发生.
Parameters:
Name Type Description
name string 要移除的框架的键.
Returns:
如果从该纹理中移除了具有匹配关键点的帧,则为True.
Type
boolean

setDataSource(data)

Since:
  • 3.0.0
向此纹理添加数据源图像. 数据源图像的一个例子是一个普通的贴图,其中该纹理的所有帧 同样适用于法线贴图.
Parameters:
Name Type Description
data HTMLImageElement | HTMLCanvasElement | Array.<HTMLImageElement> | Array.<HTMLCanvasElement> 源图像.

setFilter(filterMode)

Since:
  • 3.0.0
设置此纹理的过滤模式. 模式可以是线性,默认或最近. 对于像素艺术,你应该使用最近. 该模式适用于整个纹理,而不仅仅是它的特定帧.
Parameters:
Name Type Description
filterMode Phaser.Textures.FilterMode 过滤模式.