由于最近在研究小游戏,需要用到游戏引擎,有人推荐lufylegend.js,结合作者的官网和API 看了好久,大概入了个门,下面总结一偏入门文章,希望对初学者有所帮助。
lufylegend是一个HTML5开源引擎, 它实现了利用仿ActionScript3.0的语法进行HTML5的开发,包含了LSprite,LBitmapData,LBitmap,LLoader,LURLLoader,LTextField,LEvent等多个AS开发人员熟悉的类, 支持Google Chrome,Firefox,Opera,IE9,IOS,Android等多种热门环境。利用lufylegend可以轻松的使用面向对象编程,并且可以配合Box2dWeb制作物理游戏, 另外它还内置了LTweenLite缓动类等非常实用的功能。
备注:我用的版本是lufylegend-1.10.1.min.js
结合代码:
(1)LInit(30, 'game', gWidth, gHeight, main);
LInit('间隔多久去刷新画布','页面的DIV的ID',画布的宽,画布的高,回调函数名字);//页面一上来时候执行的方法
gWidth ,gHeight
声明变量,设置值为设计图的宽和高
(2)LGlobal是一个全局类,包括LGlobal.mobile,LGlobal.ios等等。
针对移动端
if(LGlobal.mobile){
LGlobal.width = gWidth;
LGlobal.height = gWidth * window.innerHeight/window.innerWidth;
LGlobal.canvasObj.width = LGlobal.width;
LGlobal.canvasObj.height = LGlobal.height;
}
(3)添加画布层
var backgroundPage = new LSprite();//背景层
addChild(backgroundPage);
var eggPage = new LSprite();//鸡蛋层
addChild(eggPage);
(4)最后添加loadding
var loadingPage = new LoadingSample4();//loading
addChild(loadingPage);
(5)LLoadManage类是可以用来同时读取图片,文本以及js多种类型的文件。load从指定的 list 加载数据。
LLoadManage.load(imgData, function(progress) {
loadingPage.setProgress(progress);
}, gameInit);
加载完成之后执行gameInit函数(这个函数是我自己起的名字,是个回调函数)
(6)
function gameInit(result) {
imgData = result;
var oTime = null;
oTime = setTimeout(function(){
removeChild(loadingPage);
loadingPage = null;
},200);
//do something
}
官网API
http://lufylegend.com/api/zh_CN/out/classes/LLoadManage.html