Phaser新闻联播

2019-02-10 周日 by 黄复雄.

播报Phaser共和国的街谈巷议,飞短流长。随时更新。

2019-2-10,Phaser World Issue 139摘要

Phaser 3.16于2月5日发布(实际版本号是3.16.1,而不是3.16.0)。新版及发布日志在此。该版开发历时4个月。

Most importantly of all, though, it finishes the Phaser 3 core feature set. /最关键的是,它完成了Phaser3的核心特性。

文档有大幅度改善,目前仅差748条(总条目超过16000余条)。

TypeScript定义文件亦有大改善,但新的事件未处理。

输入系统有重要更改

此前,输入系统通过一个事件队列(event queue)来工作。所有原生DOM事件,如键盘、触摸、鼠标,存储于输入管理器(Input Manager)的一个队列中,将在游戏的下一步进行处理;处理后清除。在处理的同时,内部事件,比如pointerdownkeyup被发送到你的游戏代码。 这样能保证同时性,副作用是,在事件处理中,你不能做诸如打开外部浏览器窗口、进入全屏模式之类的事——因为他们不是“真的”事件,所以不能通过浏览器的安全检查。为此添加了诸如addUpCallback之类的方法,用于尝试、提供这类支持(不过键盘事件始终不可能)。

3.16版变了。在同一个调用中,DOM事件立即激发对应的内部事件。所以,如果你点击画布,游戏中收到的pointerdown事件仍旧是原生事件处理器的一部分,所以这时你可以随意做诸如进入全屏模式、打开外部窗口之类的事,而不会有任何浏览器的警告或应急操作。不过这就意味着,处理器被调用时的点位(point)不再始终一致,也不再与请求动画帧(Request Animation Frame)的更新速度绑定。经过尽可能的测试,目前看工作表现跟以前一样。响应性能略有提升,因为移除了处理事件的零碎耽搁。

如果出现问题,很容易切换回原来的版本:在游戏配置(Game Config)中,做一个input对象,添加属性queue: true。但这个选项不久将会移除。

输入处理有很多更改,详见日志列表。比如:

3.16可以处理游戏/画布外输入事件。可用三个事件:POINTER_DOWN_OUTSIDE、GAME_OUT和GAME_OVER。比如,热点离开画布时用来暂停游戏。

键盘事件也不再像以前一样,会被浏览器截留。

重要新特性:外部场景文件

现在可以使用新的Loader文件类型"SceneFile"实时加载外部场景文件。这样就不必预先把所有可能用到场景打包,可以随时在服务器端更新场景,或根据用户端信息选择场景。用法:

this.load.sceneFile('MiniGame520', 'js/minigames/520.js');
// `MiniGame520`是类名

JS文件下载好后,会通过一个脚本标签添加到DOM,并被场景管理器接收。然后可以用它的key启动:

this.scene.start('game520');
// 'game520'是key

后续事项

  • 处理3.16的问题
  • 完成Spine插件
  • 完成更多文档
  • 3.17(会是维护版,很快出来)后大改Containers

Phaser3 API文档大纲-InputPlugin

2019-01-08 周二 by 黄复雄.

这是根据Phaser3 API文档中各类之页面右侧的目录整理的,对印象深刻的地方做了说明,或增加代码示例。可做便览之用。

read...

Phaser3官网实例学习笔记

2019-01-08 周二 by 黄复雄.

这是我学习Phaser3官网实例的笔记,对快速了解Phaser3能做什么、API概貌也许有帮助。

read...

Pyo文档(二)实例

2019-01-01 周二 by Olivier Bélanger. 黄复雄.

Pyo是用C写成的Python模块,用于生成数字信号处理(DSP)脚本。它提供一整套的类,用于构建音频软件,编写算法音乐,或通过一种简单、成熟、强大的编程语言随意探索音频处理。

read...

Pyo文档(一)

2018-12-28 周五 by Olivier Bélanger. 黄复雄.

Pyo是用C写成的Python模块,用于生成数字信号处理(DSP)脚本。它提供一整套的类,用于构建音频软件,编写算法音乐,或通过一种简单、成熟、强大的编程语言随意探索音频处理。

read...

Pyo学习笔记

2018-12-27 周四 by 黄复雄.

Pyo是用C写成的Python模块,用于生成数字信号处理(DSP)脚本。它提供一整套的类,用于构建音频软件,编写算法音乐,或通过一种简单、成熟、强大的编程语言随意探索音频处理。

read...

小工具:分割文本文件

2018-12-15 周六 by 黄复雄.

如果你想以特定格式的行(用正则表达式表示)为界,把一批文本文件分割成小片段,比如每章节或每卷一个文件,可以使用下面的Python脚本。

read...

Audition技巧:半自动分切音频

2018-12-14 周五 by 黄复雄.

在做电子书时,我需要把几百个生字朗读音频逐字分切开,把课文朗读音频逐句分切成开;或者获取每个分切位置的时间标签。总之是根据停顿静音进行分切的。此类要求可以通过Audition的“诊断”功能实现。

read...

Audition技巧:使两段不同环境的录音协调一致

2018-12-14 周五 by 黄复雄.

在修补音频时,有时修补材料的录音环境有所改变,或者语音演播人改变了。如果变化不大,可以通过Audition分析、比较频率,然后根据差异调整均衡,使修补材料的音色更接近要修补的音频。调整后截取片段用于修补,能更为协调。

read...

小工具:从多文件中收集字符串

2018-12-12 周三 by 黄复雄.

如果你想从很多文本文件中把一定格式的字符串收集在一起,可以使用下面的Python脚本。

read...
Fork me on GitHub