- 搭建世界
在使用this.add.image创建了图片对象后,那么就有了当前场景可显示的图片列表,这个图片列表即存在于你的游戏对象中。你可以在任何时候将这些图片秀出来。不过,如果图片在800x600的窗口区域外的话,你是看不见它们的(即‘离屏’),但它们仍处于场景中。
场景并不一定是一个固定的大小,它可以向任意的方向延伸。当前激活的摄像机可以控制视角在场景中移动和缩放,你也可以创建一个新的摄像机视角来观察场景。这个主题超出了本节内容,我们将在其他栏目中介绍。
现在,让我们在场景中添加几个平台,我们这样修改了一下creat函数:
var platforms;
function create () { this.add.image(400, 300, 'sky');
platforms = this.physics.add.staticGroup();
platforms.create(400, 568, 'ground').setScale(2).refreshBody();
platforms.create(600, 400, 'ground'); platforms.create(50, 250, 'ground'); platforms.create(750, 220, 'ground'); } |
快速浏览一下代码,会发现一个函数调用this.physics。含义是我们要使用物理引擎,但我们需要在开始的时候,就通过config告诉Phaser物理引擎的设置。我们来更新一下config,让它我们的游戏包含物理特性,代码如下:
var config = { type: Phaser.AUTO, width: 800, height: 600, physics: { default: 'arcade', arcade: { gravity: { y: 300 }, debug: false } }, scene: { preload: preload, create: create, update: update } }; |
新增的内容是physics定义,默认为arcade物理引擎,你可以在part4.html文件中查看到这段代码,执行之后会呈现出如下场景:
我们得到了一个背景和几个平台,但我们如何让这些平台发挥正确的功能呢?这是下一章的内容 :-)