文档章节

lufylegend-HTML5游戏引擎学习笔记7:按钮和动画(基础部分完结)

WolfX
 WolfX
发布于 2016/03/08 16:36
字数 277
阅读 42
收藏 0

上篇: http://my.oschina.net/wolfx/blog/632810

实现一个按钮

为了简化开发,lufylegend提供了LButton

var loader,bitmapup,bitmapover,field;
LInit(50,"my",300,300,main);
function main(){
	loader = new LLoader();
	loader.addEventListener(LEvent.COMPLETE,loadBitmapup);
	loader.load("img/btn1.png","bitmapData");
}
function loadBitmapup(){
	bitmapup = new LBitmap(new LBitmapData(loader.content));
	loader = new LLoader();
	loader.addEventListener(LEvent.COMPLETE,loadBitmapover);
	loader.load("img/btn2.png","bitmapData");
}
function loadBitmapover(){
	bitmapover = new LBitmap(new LBitmapData(loader.content));
	var layer = new LSprite();
	addChild(layer);
	field = new LTextField();
	field.text = "wait for click";
	layer.addChild(field);
	var btn = new LButton(bitmapup,bitmapover);
	btn.y = 50;
	layer.addChild(btn);
	btn.addEventListener(LMouseEvent.MOUSE_DOWN,downshow)
}
function downshow(){
	field.text = "clicked";
}

API参考: http://lufylegend.com/api/zh_CN/out/classes/LButton.html

实现一个帧动画

使用LGlobal.divideCoordinate(width,height,row,col)分割一张图片,动画的每一帧其实就是所分割出的图.

var loader,ani,layer;
LInit(50,"my",300,300,main);
function main(){
	loader = new LLoader();
	loader.addEventListener(LEvent.COMPLETE,loadImgEnd);
	loader.load("img/ani.jpg","bitmapData");
}
function loadImgEnd(){
	var bitmapData = new LBitmapData(loader.content);
	//LGlobal.divideCoordinate(width,height,row,col)
	//分割图片
	//width宽
	//height高
	//row行
	//col列
	var list = LGlobal.divideCoordinate(600,450,6,9);
	layer = new LSprite();
	addChild(layer);
	ani = new LAnimation(layer,bitmapData,list);
	layer.addEventListener(LEvent.ENTER_FRAME,onframe);
}
function onframe(){
	//循环播放第一行分割的图
	ani.onframe();
}

API参考:

LGlobal http://lufylegend.com/api/zh_CN/out/classes/LGlobal.html

LAnimation http://lufylegend.com/api/zh_CN/out/classes/LAnimation.html

LAnimationTimeline http://lufylegend.com/api/zh_CN/out/classes/LAnimationTimeline.html

© 著作权归作者所有

WolfX

WolfX

粉丝 52
博文 246
码字总数 31477
作品 0
南京
技术主管
私信 提问
Windows8/Silverlight/WPF/WP7/HTML5周学习导读(1月28日-2月3日)

Windows8/Silverlight/WPF/WP7/HTML5周学习导读(1月28日-2月3日) 本周Windows 8开发学习资源更新 本周Silverlight学习资源更新 本周Windows Phone开发学习资源更新 本周WPF学习资源推荐 本周...

冷秋寒
2018/06/29
0
0
广州.NET男屌求职

差不多两年的经验吧,一直是做.NET,工具当然是VS+MSSQL,偶尔做了一两个项目是用mysql的,从毕业以来一直在一间公司工作(我很忠诚的哦),下面是一些不值得一提的小项目,希望有淫能收留,...

任意球
2014/02/13
1K
25
20 款免费的 JavaScript 游戏引擎

使用 HTML5,CSS3 和 Javascript 可以帮助面向对象开发者开发拥有各种特性的游戏,比如:3D 动画效果,Canvas,数学,颜色,声音,WebGL 等等。最明显的优势在于使用 HTML5 开发的游戏能在任...

oschina
2014/02/20
18.4K
13
史无前例的 HTML5 资源参考指南

尽管 HTML5 规范在 2014 年之前不会有正式版本,很多设计师已经开始试水高级浏览器已经支持的部分 HTML5 功能。HTML5 为 Web 设计和应用开发打开了一扇全新的门,原生支持了以前只可能使用 ...

李长春
2012/03/02
645
1
CreateJs系列教程-1-开始出发

介绍: CreateJS为CreateJS库,可以说是一款为HTML5游戏开发的引擎。打造 HTML5 游戏! CreateJS 是一套可以构建丰富交互体验的 HTML5 游戏的开源工具包,旨在降低 HTML5 项目的开发难度和成...

乐派电影
2015/11/11
2.5K
0

没有更多内容

加载失败,请刷新页面

加载更多

CRM、DMP、CDP都是什么?有什么区别?

Markter对CRM系统(Customer Relationship Management System,客户关系管理系统),营销自动化等概念都已经比较熟悉,也许DMP(Data Management Platform,数据管理平台)也多多少少有些了解。...

怡海软件-CRM
4分钟前
0
0
中台是什么,到底要解决什么问题?

故事的开始 这个最早由阿里在2015年提出的“大中台,小前台”战略中延伸出来的概念,最近在国内大热。阿里、腾讯、百度、京东、美团、滴滴等一众互联网巨头,从去年到今年,接连开始组织架构...

喵二狸
15分钟前
1
0
Linux Centos 7 - MySQL 5.7离线安装

内部网络通过离线包的方式进行安装。 一、下载 下载地址:https://dev.mysql.com/downloads/mysql/ 进入页面后,点击右侧链接。 下载对应版本。 通过xftp6等工具上传到服务器上。 二、安装和...

华山猛男
15分钟前
1
0
EventBus 3 全解

EventBus 3 全解 [TOC] 使用 一个基于观察者模式的事件发布/订阅框架. 用于模块间通信和解耦, 使用方便,性能高. 基本使用 1. gradle导入依赖库 implementation 'org.greenrobot:eventbus:3....

马湖村第九后羿
18分钟前
1
0
HTTP 协议

什么是HTTP协议? HTTP是hypertext transport protocol的缩写,即超文本传输协议。 是用于万维网服务器与本地浏览器之间传输超文本的传送协议。可以使浏览器更加高效,使网络传输减少。能够保...

彩色泡泡糖
28分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部