lufylegend引擎简介

lufylegend是一个HTML5开源引擎,它实现了利用仿ActionScript3.0的语法进行HTML5的开发, 包含了LSprite,LBitmapData,LBitmap,LLoader,LURLLoader,LTextField,LEvent等多个AS开发人员熟悉的类, 支持Google Chrome,Firefox,Opera,IE9,IOS,Android等多种热门环境。 利用lufylegend可以轻松的使用面向对象编程,并且可以配合Box2dWeb制作物理游戏, 另外它还内置了LTweenLite缓动类等非常实用的功能, 现在开始使用它吧,它可以让你更快的进入HTML5的世界!


上面是API中的介绍
API地址:lufylegend.js中文文档

LAnimationTimeline
LAnimationTimeline是一套封装的精灵图动画的方法,可以将一张精灵图按照指定帧数做成动画。
接受两个参数介绍
下面是官方提供示例代码

LInit(50, "legend", 800, 480, main);
var imgData = [
    {name : "player-0", path : "./player-0.png"}, 
    {name : "player-1", path : "./player-1.png"}, 
    {name : "player-2", path : "./player-2.png"}, 
    {name : "player-3", path : "./player-3.png"}, 
    {name : "player-4", path : "./player-4.png"}
];
function main () {
    LLoadManage.load(imgData, null, gameInit);
}
function gameInit(result) {
    var list = LGlobal.divideCoordinate(480, 210, 1, 4);
    var data = new LBitmapData(result["player-0"], 0, 0, 120, 210);
    var playerLeft = new LAnimationTimeline(data, list);
    addChild(playerLeft);

    var datas = [];
    var listChild = [];
    for (var i = 0; i < 4; i++) {
        datas.push(new LBitmapData(result["player-" + (i + 1)]));
        listChild.push({dataIndex : i, x : 0, y : 0, width : 120, height : 210, sx : 0, sy : 0});
    }
    var playerRight = new LAnimationTimeline(datas, [listChild]);
    playerRight.x = 200;
    addChild(playerRight);
}

其实

var data = new LBitmapData(result["player-0"], 0, 0, 120, 210);

可以改成

var data = new LBitmapData(result["player-0"]);

因为在阅读源码的时候发现,LAnimationTimeline是对LAnimation的封装,而LAnimation会在onframe中对data进行setProperties重新选取。
选取的依据就是var list = LGlobal.divideCoordinate(480, 210, 1, 4);中的list的二维数组。


zuank
203 声望10 粉丝