egame是一个使用ecojs开发的轻量级、模块化、易于扩展的2d canvas渲染的h5游戏引擎 。
- 资源加载(Loader)
- canvas渲染
- 状态管理(Status)
- 音频管理(Sound)
- 世界、舞台、相机管理(World,Stage,Camera)
- 显示对象和显示容器(Container,DisplayObject)
- 精灵、精灵表、文字、图形、平铺精灵(Sprite,SpriteSheet,Text,Graphics,TilingSprite)
- 精灵动画(SpriteSheetAnimation)
- 组(Group)
- 补间动画(Tween)
- 粒子效果(Particle)
- 物理引擎(Physics)
- 简单输入(InteractionManager,可以废弃)
- 输入手势模块(InputManager)
- 贴片地图(Tilemap)
- 游戏对象创建器(GameObjectCreator)
- 调试信息(Debug)
egame.use(['Game', 'Loader', 'Texture', 'Sprite','Text','GameObjectCreator','Image'], function(Game,Loader, Texture, Sprite, Text,GameObjectCreator) {
//创建一个游戏对象
var game = new Game(640, 1008, document.body, egame.ScaleMode.FIXED_WIDTH);
var load = new Loader(game);
var add = new GameObjectCreator(game);
//初始画面
var loaddingStatus = {
preload: function() {
//设置要加载的资源
load.image("mniya", "images/1.jpg");
//加载资源界面
game.stage.backgroundColor = 0x1099bb;
var basicText = game.add.text("当前进度:0%",150,100);
//加载资源完成时候调用
game.load.on("resourceCompleted",function(){
basicText.text ='当前进度:'+game.load.progress+'%' ;
});
game.load.on("resourceErrored",function(resourceKey){
alert("资源"+resourceKey+"加载失败");
});
// 所有加载资源完成时候调用
game.load.on("loadCompleted",function(){
basicText.text ='当前进度:'+game.load.progress+'%' ;
game.stage.removeChildren();
});
},
create: function() {
//设置背景色
game.stage.backgroundColor = 0x1099bb;
//使用图片资源
//方式1
// var texture = Texture.fromResource('mniya');
// var mniya = new Sprite(texture);
// 方式2
var mniya = new Sprite('mniya');
mniya.anchor.x = 0.5;
mniya.anchor.y = 0.5;
mniya.scale.x = 0.3;
mniya.scale.y = 0.3;
mniya.position.x = 200;
mniya.position.y = 150;
this.mniya = mniya;
this.stage.addChild(mniya);
},
update: function() {
this.mniya.rotation += 0.1;
}
};
//添加状态并在游戏启动后自动启动
game.state.add("loadding", loaddingStatus, true);
game.boot();
});
- 加载所需模块
npm install
- 生成api文档
gulp doc
注意由于fonts.googleapis.com可能无法访问,需要把生成文件的styles目录中样式的@import url("https://fonts.googleapis.com/css?family=Lato:300,400,700");
去掉。
发布于(http://opensource.org/licenses/MIT) MIT License..