1.动画1

<script type="text/javascript">
var loader,anime,layer; //初始化画布
init(200, "mylegend", 500, 350, main); //初始化回调函数
function main() {
//加载图片资源
loader = new LLoader();
loader.addEventListener(LEvent.COMPLETE,loadBitmapdata);
loader.load("chara.png","bitmapData");
}
//图片加载完成后回调函数
function loadBitmapdata(event) {
//LBitmapData用于进一步构造一个Bitmap对象
//LBitmapData四个构造参数含义:图像资源,从原图中开始截取的原点坐标(x,y),截取的宽度和高度
var bitmapdata = new LBitmapData(loader.content, 0, 0, 64, 64);
////将原图分割为动画帧,此对象封装了分割方式,将原图分割成4*4
var list = LGlobal.divideCoordinate(256,256,4,4);
//加入层LSprite
layer = new LSprite();
addChild(layer);
//得到一个animate对象,参数:层,bitmapData,分割方式
anime = new LAnimation(layer, bitmapdata, list);
//循环动画
layer.addEventListener(LEvent.ENTER_FRAME,onframe);
}
//此函数会被反复调用
//以帧速率调度此事件。
function onframe(){
anime.onframe();
}
</script>

2.动画2

<script type="text/javascript">
var loader,anime,layer;
init(200,"mylegend",500,350,main);
function main(){
loader = new LLoader();
loader.addEventListener(LEvent.COMPLETE,loadBitmapdata);
loader.load("chara.png","bitmapData");
}
function loadBitmapdata(event){
var bitmapdata = new LBitmapData(loader.content,0,0,64,64);
var list = LGlobal.divideCoordinate(256,256,4,4);
//加入层LSprite
layer = new LSprite();
addChild(layer); //动画操作一般有这几种:1,设置动画 2,获取动画信息 3,添加动画监听事件 4,播放动画
anime = new LAnimation(layer, bitmapdata, list); layer.addEventListener(LEvent.ENTER_FRAME,onframe);
}
function onframe() {
//getAction方法,获取动画信息
var action = anime.getAction();
switch(action[0]){
case 0:
//人物下行
layer.y += 5;
if (layer.y >= 200) {
//setAction方法,设置动画
anime.setAction(2);
}
break;
case 1:
//人物左行
layer.x -= 5;
if(layer.x <= 0){
anime.setAction(0);
}
break;
case 2:
//人物右行
layer.x += 5;
if(layer.x >= 200){
anime.setAction(3);
}
break;
case 3:
//人物上行
layer.y -= 5;
if(layer.y <= 0){
anime.setAction(1);
}
break;
}
//onframe方法,播放动画
anime.onframe();
}
</script>

lufylegend:动画的更多相关文章

  1. lufylegend游戏引擎

    lufylegend游戏引擎介绍:click 这个链接我觉得已经很详细的介绍了这个引擎. 所以以下我只说说一些简单的游戏代码过程. 首先从canvas做游戏叙述起: 这是一个让人很熟悉的简单小游戏,网 ...

  2. 在Lufylegend中如何设置bitmap或者sprite的缩放和旋转中心

    最近两天有个lufylegend游戏引擎群的群友需要做一个项目,其中要解决的需求是:获取照相机拍摄的图片,根据图片的EXIF信息让图片显示为“正常”情况,并且需要给图片添加一些事件侦听.何为正常呢?就 ...

  3. lufylegend练习(1)帧速率

    近期发现一个HTML开源游戏引擎,感觉还不错http://lufylegend.com/ 可是没有基础的同学.看起来费劲.所以打算边学边记笔记,说明都在凝视中 <!DOCTYPE html> ...

  4. lufylegend:图形变形3

    面来看看drawtriangles函数的扩展.利用drawtriangles函数来实现一个旋转的3D地球,效果如下 因为lufylegend1.5.0版的drawtriangles函数有个bug,所以 ...

  5. lufylegend:图片的加载和显示

    <!DOCTYPE HTML> <html> <head> <meta charset="utf-8" /> <script ...

  6. lufylegend基础知识1

    这是官方的介绍: lufylegend是一个HTML5开源引擎,它实现了利用仿ActionScript3.0的语法进行HTML5的开发, 包含了LSprite,LBitmapData,LBitmap, ...

  7. HTML5 Canvas游戏开发(四)lufylegend开源库件(下)

    一.文本 LTextField对象是lufylegend库件中专门用于显示文本信息的一个对象. 1.文本属性 创建的文本框对象不会自动加入可视化对象列表中.只有手动调用addChild()方法才能使它 ...

  8. html5游戏开发--"动静"结合(二)-用地图块拼成大地图 & 初探lufylegend

    一.前言 本次教程将向大家讲解如何用HTML5将小地图块拼成大地图,以及如何用现有的高级html5游戏开发库件lufylegend.js开发游戏. 首先让我们来了解了解如何用html5实现动画,毕竟“ ...

  9. 动画requestAnimationFrame

    前言 在研究canvas的2D pixi.js库的时候,其动画的刷新都用requestAnimationFrame替代了setTimeout 或 setInterval 但是jQuery中还是采用了s ...

随机推荐

  1. 小白学习安全测试(三)——扫描工具-Nikto使用

    扫描工具-Nikto #基于WEB的扫描工具,基本都支持两种扫描模式.代理截断模式,主动扫描模式 手动扫描:作为用户操作发现页面存在的问题,但可能会存在遗漏 自动扫描:基于字典,提高速度,但存在误报和 ...

  2. pwd、ln和重定向命令

    pwd命令 命令功能: ​ 使用pwd命令可以显示当前的工作目录,该命令很简单,直接输入pwd即可,后面不带参数. ​ pwd命令以绝对路径的方式显示用户当前工作目录.命令将当前目录的全路径名称(从根 ...

  3. CSS之外边距折叠

    外边距折叠 Collapsing margins,即外边距折叠,指的是毗邻的两个或多个外边距 (margin) 会合并成一个外边距. 其中所说的 margin 毗邻,可以归结为以下两点: 这两个或多个 ...

  4. android4.0后无法向Servlet发送请求解决办法

    从4.0开始,强制性地规定网络堵塞任务都不能放在ui线程,不然直接报错. 个办法,在oncreate下面加入 StrictMode.setThreadPolicy(new StrictMode.Thr ...

  5. Linix下修改mysql服务器编码

    1. 找到mysql的配置文件,拷贝到etc目录下,第一步很重要 把/usr/share/doc/mysql-server-5.1.52/my-large.cnf 复制到 /etc/my.cnf 即用 ...

  6. Error:Makefile:452: target 'config' given more than once in the same rule

    在解压的 linux2.6.15 文件夹下 make menuconfig 的时候出现下面的错误: Makefile:452: target 'config' given more than once ...

  7. 【LOJ】#2532. 「CQOI2018」社交网络

    题解 基尔霍夫矩阵,外向树是入度矩阵-邻接矩阵 必须删掉第一行第一列然后再求行列式 代码 #include <bits/stdc++.h> #define fi first #define ...

  8. Codeforces 584E Anton and Ira

    Anton and Ira 我们把点分为三类, 向左走的, 向右走的, 不动的. 最完美的情况就是每个点没有走反方向. 每次我们挑选最右边的向右走的去把向左走的交换过来,这样能保证最优. #inclu ...

  9. 详解VirtualBox虚拟机网络环境解析和搭建-NAT、桥接、Host-Only、Internal、端口映射

    本文以VirtualBox为例 如果出现主机无法ping通虚拟机的情况,请首先确认虚拟机防火墙已关闭. 一.NAT模式 特点: 1.如果主机可以上网,虚拟机可以上网 2.虚拟机之间不能ping通 3. ...

  10. Ubuntu系统无法获得锁/var/lib/dpkg/lock - open (11: 资源暂时不可用)的解决方案

    Ubuntu系统无法获得锁/var/lib/dpkg/lock - open (11: 资源暂时不可用)的解决方案     问题 使用Ubuntu打开终端时,输入带有sudo apt-get 命令行是 ...