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. 设置adb server的端口号

    在操作系统的系统环境里面,加一个环境变量: ANDROID_ADB_SERVER_PORT,值为9999,看自己喜欢.

  2. opencv SVM多分类 人脸识别

    上一篇介绍了OPENCV中SVM的简单使用,以及自带的一个二分类问题. 例子中的标签是程序手动写的,输入也是手动加的二维坐标点. 对于复杂问题就必须使用数据集中的图片进行训练,标签使用TXT文件或程序 ...

  3. Win7下如何使用GCC编译器

    很多Linux的爱好者都很熟悉GCC编译器,但是对面初学者,如何去学习GCC使用GCC ,很多人都是直接在电脑上装一个虚拟机,这样不仅安装麻烦,而且占用了很多电脑资源,今天我来教大家如何在Win7使用 ...

  4. java adapter(适配器)惯用方法

    如果现在有一个Iterable类,你想要添加一种或多种在foreach语句中使用这个类的方法,例如方向迭代,应该怎么做呢? 如果之间继承这个类,并且覆盖iterator()方法,你只能替换现有的方法, ...

  5. java 添加自己的工具包

    一. 在添加工具包前环境变量要定位到当前目录, export CLASSPATH=.:/home/share/ 添加工具类 我的目录\\192.168.1.101\share\share\net\fe ...

  6. python tar.gz格式压缩、解压

    一.压缩 需求描述 现在有一个目录,需要将此目录打包成tar.gz文件.因为有一个Django项目,需要用到此功能! tar.gz 目录结构如下: ./ ├── folder │   ├── .doc ...

  7. OI 助手 | 简洁快速的 OI 工具箱 (原 竞赛目录生成)

    原竞赛目录生成 (4.0 版本前) 开发者:abc2237512422 OI 助手是一个轻量简洁的 OI 工具箱.你可以使用它来快速进行 OI 竞赛中一些繁琐的操作,例如生成竞赛目录.对拍.它为你省去 ...

  8. IntelliJ IDEA快捷键:Ctrl+空格

    The Code Completion feature lets you quickly complete different kinds of statements in  the code.For ...

  9. Python 保存数据的方法(4种方法)

    Python 保存数据的方法: open函数保存 使用with open()新建对象 写入数据(这里使用的是爬取豆瓣读书中一本书的豆瓣短评作为例子) import requests from lxml ...

  10. Python中collections.defaultdict()使用

    一个小示例 from collections import defaultdict import json def tree(): return defaultdict(tree) users = t ...