Phaser常用API整理:资源加载
Loader
创建Phaser.Game()实例
var game=new Phaser.Game();
图片
game.load.image(key,url,overwrite); //key:唯一标识;url:图片地址;overwrite:可选,如果文件存在,是否覆盖,默认false
//加载精灵图
game.load.spritesheet(key,url,frameWidth,frameHeight,frameMax,margin,spacing) //key:唯一标识;url:图片地址;frameWidth/frameHeight:每一个帧的高度;frameMax:最大多少帧;margin/padding:外边距/内边距,默认0
音频/视频
game.load.audio(key,urls,autoDecode) //key:唯一标识;urls:路径,可以是array,如['aa.mp4','aa.ogg'],自动检测,调用第一个兼容的;autoDecode:默认true,是否自动解码
game.load.video(key,urls,loadEvent,asBlob) //key:唯一标识;urls:路径;
game.load.audiosprite(key,urls,jsonURL,jsonData,autoDecode) //key:唯一标识;urls:路径,可以是字符串或数组;jsonURL:json地址;jsonData:json数据,如果jsonURL不为空,则忽略此;autoDecode:是否自动解码
上面的API只是将资源加载进来,下面才是真正的在游戏中使用:
game.add.image(x,y,key,frame,group) // x/y:x轴/y轴位置;key:资源标识;frame:如果是精灵图,这个参数可以指定帧;group:可将其添加到某个组,如果不指定,将添加到world组。后三个参数可选
game.add.sprite(x,y,key,frame,group) // x/y:x轴/y轴位置;key:资源标识;frame:如果是精灵图,这个参数可以指定帧;group:可将其添加到某个组,如果不指定,将添加到world组。后三个参数可选
game.add.audio(key,volume,loop,connect) // key:资源标识;volume:声音大小;loop:是否循环,默认false;后三个参数可选
game.add.audioSprite(key) // key:资源标识
game.add.button(x,y,key,callback,callbackContext,overFrame,outFrame,downFrame,upFrame,group); // x/y:x轴/y轴位置;key:资源标识;callback:监听事件,当这个按钮被按下时,该函数调用;callbackContext:上下文,通常是this;overFrame:位于button上时的帧数;outFrame:离开button的帧数;downFrame:按下时的帧数;upFrame:松开时的帧数;group:组名
game.add.video(key,url) // key:资源标识;url:如果此video未加载,可在这里加入videourl
game.add.group(parent,name,addToStage,enableBody,physicsBodyType); //
game.add.text(x,y,text,style,group) // x/y:x轴/y轴坐标;text:文本;style:样式;group:组,后两个参数可选
game.add.tween(object) // 创建一个补间动画。object:js对象或Phaser对象
game.add.tilesprite(x,y,width,height,key,frame,group) //创建一个平铺图
例子:
var audioJSON={
spritemap:{
'alien death':{
start:1,
end:2,
loop:false
},
'boss hit':{
start:1,
end:2,
loop:false
}
}
};
game.load.audiosprite('sfx','muisic.mp4',null,audioJSON);
fx=game.add.audioSprite('sfx');
fx.play('alien death'); //播放
fx.pause(); //暂停播放
fx.resume() //恢复播放
fx.stop() //停止播放
autosprite生成工具:https://github.com/tonistiigi/audiosprite