【说明】
这是根据Phaser3 API文档中各类之页面右侧的目录整理的,略作说明,或增加代码示例。可做便览之用。
Phaser 3 API Documentation - Class: LoaderPlugin#
加载器(加载插件)用于加载所有外部资源。
主要是通过场景的this.load
属性来使用它。
在场景中的preload
(总是先于create
方法调用)方法中使用加载器加载本场景所需资源。如果在preload
之外使用加载器,则需自行启动加载器并监听完成事件。
加载器混用tag loading(如Audio元素)和XHR,提供进度、完成事件。
缺省情况下文件下载时并行的。并发连接数量可以在GameConfiguration中配置。
加载器启动后,在未完成之前仍可添加下载文件。
每个场景都有自己的加载器实例。但是已经加载的资源放置在game全局缓存中,各场景都能取用。
可以加载自定义文件类型(通过扩展File
或MultiFile
类)。
Phaser.Loader. LoaderPlugin#
Members#
baseURL :string#
链接基。会附加到所有链接之前。如果直接给该属性赋值,最后需要代“/”,通过setBaseURL()
方法赋值则会自动加上。参考path
。
cacheManager :Phaser.Cache.CacheManager #
指向缓存管理器。
crossOrigin :string#
跨域设置值。常用于加载图像,常设为“anonymous”。 (ah21:如果本机加载出现跨域问题,请确认服务器与浏览器两处域名字面完全相同,127.0.0.1, localhost, 0.0.0.0三者间会构成跨域。)
inflight :Phaser.Structs.Set. #
addFile
加入的条目首先存在list
集合,开始加载后移到inflight
,加载成功后移到queue
。
list :Phaser.Structs.Set. #
addFile
加入的条目首先存在list
集合,开始加载后移到inflight
,加载成功后移到queue
。
maxParallelDownloads :integer#
最大并发/并行下载数。
path :string#
路径,会附加到所有文件相对路径之前,baseURL
之后。不影响绝对文件路径。
如果直接设置此属性值,注意最后带“/”,通过setPath()
设置则会自动加上。
参考baseURL
。
prefix :string#
资源key的统一前缀。比如MENU.
,可以与区分场景、避免键值重复引起警告。只影响设置后加入加载器的资源,不会影响已进入加载队列的文件。
progress :number#
加载进度,0-1之间的数字。如果加载过程中增加下载文件,会重新计算。
queue :Phaser.Structs.Set. #
队列。addFile
加入的条目首先存在list
集合,开始加载后移到inflight
,加载成功后移到queue
。成功后会移到缓存Cache 或纹理管理器Texture Manager。
scene :Phaser.Scene #
指向所属场景。
state :integer #
systems :Phaser.Scenes.Systems #
指向所属场景的System。
textureManager :Phaser.Textures.TextureManager #
指向全局的文理管理器。
totalComplete :integer#
最近的总完成数。调用Loader.start
时会重置。下项类此。
totalFailed :integer#
totalToLoad :integer#
需要加载的数量。不一定很精确,特别是加载文件包时。
xhr :XHRSettingsObject#
xhr全局设置对象。可每个文件单独重写。
Methods#
addFile(file)#
把文件加入队列。一般不直接使用,而是通过Loader.image
之类的方法。
addListener(event, fn [, context])#
增加某事件的监听器。
addPack(data [, packKey])#
把包裹加入队列。一般不直接使用,而是用Loader.pack
。
animation(key [, url] [, dataKey] [, xhrSettings])#
加载动画数据。一般不直接使用,而是通过this.load.animation()
来使用。
1 2 3 4 5 6 7 |
|
atlas(key [, textureURL] [, atlasURL] [, textureXhrSettings] [, atlasXhrSettings])#
加载JSON Hash或者JSON Array格式的图集,比如用Texture Packer, Shoebox, Adobe Flash / Animate生成的。还可以加载Normal maps。 如果Texture Packer的multi-atlas,则请用Phaser Multi Atlas loader加载。
1 2 3 4 5 6 7 |
|
如使用Texture Packer,要改JSON文件编码为utf-8无签名;取消“允许旋转”。
atlasXML(key [, textureURL] [, atlasURL] [, textureXhrSettings] [, atlasXhrSettings])#
加载XML图集,如用Shoebox和Adobe Flash / Animate生成的。还可以加载Normal maps。
audio(key [, urls] [, config] [, xhrSettings])#
加载Audio或HTML5Audio文件、文件数组。 如果游戏设置了禁用声音,则不会加载音频文件。
1 2 3 4 5 6 |
|
audioSprite(key, jsonURL [, audioURL] [, audioConfig] [, audioXhrSettings] [, jsonXhrSettings])#
加载音频精灵。音频精灵可以把多个音频文件合并到一个文件,并在配套JSON文件中指明起讫位置、回放参数等。
音频精灵JSON文件应符合audiosprite生成器的标准。比如合并TTS导出的音节读音:audiosprite --output audiosprite --export "ogg,m4a,mp3" --bitrate 32 --samplerate 16000 --gap 0.1 *.mp3
,把所有".mp3"文件制成音频精灵,以"audiosprite"名字导出"ogg,m4a,mp3"三种格式,并设置采样率、比特率。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
|
binary(key [, url] [, dataType] [, xhrSettings])#
加载二进制文件。
bitmapFont(key [, textureURL] [, fontDataURL] [, textureXhrSettings] [, fontDataXhrSettings])#
加载bitmap字体。 适用于Angelcode Bitmap Font Generator, Littera, Glyph Designer等软件生成的XML文件格式。 支持normal maps。
emit(event [, args])#
发出事件,调用事件监听器。
eventNames()#
返回已经注册的事件列表。
fileProcessComplete(file)#
内部方法。加载完成是自动调用。
flagForRemoval(file)#
加入到标记以备删除的队列。
glsl(key [, url] [, xhrSettings])#
加载GLSL文件(OpenGL Shading Language,目前是纯文本文件)。
html(key [, url] [, xhrSettings])#
加载HTML文件、文件数组。
htmlTexture(key [, url] [, width] [, height] [, xhrSettings])#
加载HTML纹理文件、文件数组。
image(key [, url] [, xhrSettings])#
加载图像。
isLoading()#
取值:是否正在加载、或正在处理加载文件。
isReady()#
取值:是否已经准备好,可以开始加载了。
json(key [, url] [, dataKey] [, xhrSettings])#
加载JSON文件。可以通过dataKey指定只抽取一部分。
keyExists(file)#
检查key是否已经存在,以避免冲突。
listenerCount(event)#
返回某事件的监听器数量。
listeners(event)#
返回某事件的监听器数组。
loadComplete()#
内部方法,加载完成(包括错误项已经停止)时调用。
multiatlas(key [, atlasURL] [, path] [, baseURL] [, atlasXhrSettings])#
多重图集。参考atlas
。
适用于Texture Packer 4.6.3以上版本选定Phaser 3导出选项时生成的多重图集。
nextFile(file, success)#
内部方法,自动调用。
off(event, fn, context, once)#
关闭某事件的监听器。
on(event, fn [, context])#
为某事件添加一个监听器。
once(event, fn [, context])#
为某事件添加一次性监听器。
pack(key [, url] [, dataKey] [, xhrSettings])#
加载JSON文件包裹或包裹数组。JSON文件包裹是包含需要加载的文件细节的JSON文件。可以通过dataKey
指定只提取JSON文件中的一部分。
plugin(key [, url] [, start] [, mapping] [, xhrSettings])#
加载插件脚本文件或文件数组。
removeAllListeners( [event])#
移除所有监听器。
removeListener(event, fn, context, once)#
移除某事件的监听器。
reset()#
重置加载器,放弃未下载完成的,清理list,重置base URL, path和prefix。
save(data [, filename] [, filetype])#
通过浏览器下载功能保存数据到文件。
saveJSON(data [, filename])#
通过浏览器下载功能保存JSON数据到文件。
scenePlugin(key [, url] [, systemKey] [, sceneKey] [, xhrSettings])#
加载场景插件脚本。
script(key [, url] [, xhrSettings])#
加载脚本文件。
setBaseURL( [url])#
setCORS( [crossOrigin])#
setPath( [path])#
setPrefix( [prefix])#
spritesheet(key [, url] [, frameConfig] [, xhrSettings])#
加载精灵单子。支持normal maps。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
|
start()#
开始加载。会重置进度、数量,发出start
事件。
场景的preload
函数中加载会自动开始。此外需自行调用,以开始下载。
如果正在加载,此方法径直返回。
svg(key [, url] [, svgConfig] [, xhrSettings])#
加载svg文件。注意提供新尺寸,以便在生成纹理时在清晰度和内存消耗之间取得平衡。
1 2 3 4 5 6 7 8 9 10 11 12 |
|
text(key [, url] [, xhrSettings])#
加载文本文件。
1 2 3 4 5 6 7 |
|
tilemapCSV(key [, url] [, xhrSettings])#
加载CSV砖块地图文件。
1 2 3 4 5 6 7 |
|
tilemapImpact(key [, url] [, xhrSettings])#
加载Impact.js砖块地图文件。
tilemapTiledJSON(key [, url] [, xhrSettings])#
加载Tiled JSON砖块地图文件。
1 2 3 4 5 6 7 |
|
unityAtlas(key [, textureURL] [, atlasURL] [, textureXhrSettings] [, atlasXhrSettings])#
加载Unity YAML纹理图集。
update()#
内部方法。
updateProgress()#
更新进度值,发出进度事件。自动调用。
xml(key [, url] [, xhrSettings])#
加载XML文件。
Events#
addFileEvent#
completeEvent#
loadErrorEvent#
loadEvent#
progressEvent#
startEvent#
published from :Phaser 3 API Documentation - Class: LoaderPlugin