首页 专题 H5案例 前端导航 UI框架

Phaser常用API整理:游戏世界、游戏镜头和游戏舞台

作者:TG 日期: 2016-07-21 字数: 4702 阅读: 5998
一、游戏世界(World)
一个游戏只会有一个游戏世界,它可以是任何尺寸。默认情况下,游戏世界的大小和舞台的大小一样。

1.获取世界对象

var game=new Phaser.Game()

game.world

2.设置大小

game.world.setBounds(x,y,width,height)


3.属性

game.world.enableBody=true;  //让这个世界里的所有物体都拥有物理特性

game.world.centerX  //获取当前游戏世界的中心点,等于世界宽度的一半

game.world.centerY  //获取当前游戏世界的中心点,等于世界高度的一半

game.world.randomX   //获取一个随机整数,小于或等于当前游戏世界的宽度。

game.world.randomY  //获取一个随机整数,小于或等于当前游戏世界的高度

game.world.height / game.world.width  //获取游戏世界的高宽

game.world.height=100 / game.world.width=100  //设置游戏世界的高宽

game.world.x / game.world.y /game.world.z   //游戏世界的位置

4.方法

getChildAt(index)    //返回组内索引为index的子元素

forEach(callback,callbackContext,checkExists,args)  //循环。例子:Group.forEach(fn(b),this,true)

create(x,y,key,frame,exists,index)  //创建一个精灵并将其添加到这个组的最顶层


二、游戏镜头(Camera)

Camera的大小与Stage的大小一样。通过改变Camera的x/y来移动镜头。

1.获得Camera对象

var game=new Phaser.Game()


game.camera


3.跟随精灵移动的镜头

var sprite=game.add.sprite()


//镜头会跟随sprite的移动而移动

game.camera.follow(sprite)

4.固定在镜头内

//当为true时,不管镜头如何移动,sprite都会固定,类似position:fixed一样

sprite.fixedToCamera=true;


5.其他属性

game.camera.x  //获取或设置camera的x坐标(通常用来改变此值来移动camera),正数往下,负数往上

game.camera.y   //获取或设置camera的y坐标,正数往右,负数往左

game.camera.width  //camera的宽度

game.camera.height  //camera的高度

game.camera.target  //如果camera跟随精灵,那返回精灵的引用,否则返回null

事件

game.camera.onFlashComplete    //当flash效果完成时

game.camera.onShakeComplete   //当shake效果完成时

game.camera.onFadeComplete   //当fade效果完成时

6.其他方法

移动

game.camera.focusOn(displayObject)  //移动camera的焦点到displayObject这个对象上

game.camera.focusOnXY(x,y)  //移动camera的焦点到(x,y)

效果

game.camera.fade(color,duration,force)  //颜色渐变(force可为true/false,默认false,当为true时,会替换已经存在的效果,并重置时间),可用于场景切换


game.camera.flash(color,duration,force)  //闪光效果,可用于人物被击中时的效果


game.camera.shake(intensity,duration,force,direction,shakeBounds)  //抖动效果。intensity:抖动强度;duration:持续时间;force:是否替换已经存在的效果;direction:抖动方向

其他

game.camera.setPosition(x,y)  //设置camera位置

game.camera.setSize(width,height)  //设置大小

game.camera.unfollow()  //禁止跟随


三、Stage(舞台)


1. 创建stage对象

var game=new Phaser.Game()


game.stage

2.属性

game.stage.backgroundColor   //设置背景色

game.stage.width  /  game.stage.height  //获取stage宽高

3.方法

game.stage.setBackgroundColor(color)  //设置背景色



目录