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

Phaser常用API整理:资源加载

作者:TG 日期: 2016-07-19 字数: 5036 阅读: 4687

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


目录