lufylegend:动画
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:动画的更多相关文章
- lufylegend游戏引擎
lufylegend游戏引擎介绍:click 这个链接我觉得已经很详细的介绍了这个引擎. 所以以下我只说说一些简单的游戏代码过程. 首先从canvas做游戏叙述起: 这是一个让人很熟悉的简单小游戏,网 ...
- 在Lufylegend中如何设置bitmap或者sprite的缩放和旋转中心
最近两天有个lufylegend游戏引擎群的群友需要做一个项目,其中要解决的需求是:获取照相机拍摄的图片,根据图片的EXIF信息让图片显示为“正常”情况,并且需要给图片添加一些事件侦听.何为正常呢?就 ...
- lufylegend练习(1)帧速率
近期发现一个HTML开源游戏引擎,感觉还不错http://lufylegend.com/ 可是没有基础的同学.看起来费劲.所以打算边学边记笔记,说明都在凝视中 <!DOCTYPE html> ...
- lufylegend:图形变形3
面来看看drawtriangles函数的扩展.利用drawtriangles函数来实现一个旋转的3D地球,效果如下 因为lufylegend1.5.0版的drawtriangles函数有个bug,所以 ...
- lufylegend:图片的加载和显示
<!DOCTYPE HTML> <html> <head> <meta charset="utf-8" /> <script ...
- lufylegend基础知识1
这是官方的介绍: lufylegend是一个HTML5开源引擎,它实现了利用仿ActionScript3.0的语法进行HTML5的开发, 包含了LSprite,LBitmapData,LBitmap, ...
- HTML5 Canvas游戏开发(四)lufylegend开源库件(下)
一.文本 LTextField对象是lufylegend库件中专门用于显示文本信息的一个对象. 1.文本属性 创建的文本框对象不会自动加入可视化对象列表中.只有手动调用addChild()方法才能使它 ...
- html5游戏开发--"动静"结合(二)-用地图块拼成大地图 & 初探lufylegend
一.前言 本次教程将向大家讲解如何用HTML5将小地图块拼成大地图,以及如何用现有的高级html5游戏开发库件lufylegend.js开发游戏. 首先让我们来了解了解如何用html5实现动画,毕竟“ ...
- 动画requestAnimationFrame
前言 在研究canvas的2D pixi.js库的时候,其动画的刷新都用requestAnimationFrame替代了setTimeout 或 setInterval 但是jQuery中还是采用了s ...
随机推荐
- python里面的引用
1 对象及其引用 python中,引用是用命名空间来实现的,命名空间维护了变量和对象之间的引用关系. myInt = 27 yourInt = myInt #change the value of y ...
- linux使用badblocks命令扫描硬盘排除故障(待验证)
检查硬盘是否产生坏道并输出# badblocks -s -v -o /root/badblocks.log /dev/sda //公司操作 -s Show the p ...
- Spring:@Cacheable 中condition条件的理解
condition=false时,不读取缓存,直接执行方法体,并返回结果,同时返回结果也不放入缓存. ndition=true时,读取缓存,有缓存则直接返回.无则执行方法体,同时返回结果放入缓存(如果 ...
- Android: 详解触摸事件如何传递
当视图的层次结构比较复杂的时候,触摸事件的响应流程也变得复杂. 举例来说,你也许有一天想要制作一个手势极其复杂的 Activity 来折磨你的用户,你经过简单思索,认为其中应该包含一个 PageVie ...
- 如何将同一个APP中的不同activity在Recent(最近任务)中显示?
需求描述 在应用Application1中存在A.B两个activity,当在应用启动了A.B activity,点击Recent键,如何让A.B两个activity都显示在Recent界面(最近任务 ...
- andriod 自定义来电界面功能
由于近期所做一个项目需要做类似于“来电秀”的功能,所以上网搜索了一些相关资料,加上自己的一些想法,做了一个Demo.一下是我对该功能实现的一些想法,不对的地方欢迎各位指出.最后我会给出Demo 的源代 ...
- pixel像素基础
地址:http://www.imooc.com/video/9564 dp(安卓),pt(iphone)是物理像素 ppi是由物理像素确定的 一英寸内有多少个像素渲染,ppi越高,图片越清晰 1px ...
- 在阿里云申请Symantec免费SSL证书操作流程
2016年阿里云与国内证书颁发机构天威诚信推出了基于Symantec(赛门铁克)的免费SSL证书,有需要免费SSL证书产品的可以前往阿里云进行申请. 申请地址:阿里云云盾证书服务—Symantec免费 ...
- C++资源之不完全导引
1,前言 无数次听到“我要开始学习C++!”的呐喊,无数次听到“C++太复杂了,我真的学不会”的无奈.Stan Lippman先生曾在<C++ Primer>一书中指出“C++是最为难学的 ...
- 1 、在Linux(centos6.8)系统下的JDK安装与配置
一.解压jdk安装包: 附上jdk1.8的下载地址: http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-21 ...