用仿ActionScript的语法来编写html5——终篇,LegendForHtml5Programming1.0开源库件

原创 2011年10月05日 11:21:40
用仿ActionScript的语法来编写html5——终篇,LegendForHtml5Programming1.0开源库件

终篇,LegendForHtml5Programming1.0开源库件

此贴为旧版,库件1.4.1版已经发布

http://blog.csdn.net/lufy_legend/article/details/7751425




一,LegendForHtml5Programming1.0库件是什么?
它是一个javascript库,它模仿了ActionScript的语法,用于html5的开发,目前实现的功能相对较少,还不能称之为引擎,希望将来可以作为html5的开源引擎,为html5开发者提供服务。


二,LegendForHtml5Programming1.0库件的构建过程
请参照下面的九篇文章,最终代码和构建过程会有些出入,以源码为准。
用仿ActionScript的语法来编写html5系列文章
第一篇,显示一张图片
http://blog.csdn.net/lufy_legend/article/details/6753032
第二篇,利用Sprite来实现动画
http://blog.csdn.net/lufy_legend/article/details/6753032
第三篇,鼠标事件与游戏人物移动
http://blog.csdn.net/lufy_legend/article/details/6760812
第四篇,继承与简单的rpg
http://blog.csdn.net/lufy_legend/article/details/6770713
第五篇,Graphics绘图
http://blog.csdn.net/lufy_legend/article/details/6777784
第六篇,TextField与输入框
http://blog.csdn.net/lufy_legend/article/details/6782218
第七篇,自定义按钮
http://blog.csdn.net/lufy_legend/article/details/6798187
第八篇,图片处理+粒子效果
http://blog.csdn.net/lufy_legend/article/details/6798192
第九篇,仿URLLoader读取文件
http://blog.csdn.net/lufy_legend/article/details/6824136


三,LegendForHtml5Programming1.0库件的使用举例
下面是使用LegendForHtml5Programming1.0开发的两个简陋的小游戏,只是为了试验,非常简陋,以后会开发几个像样的游戏来做参照。
1,俄罗斯方块
http://fsanguo.comoj.com/html5/jstoas10/index.html
2,抽奖小游戏
http://fsanguo.comoj.com/html5/lottery_html5/index.html
个人感觉,该库件使用起来还是很方便的,尤其上面的俄罗斯方块,我是直接把以前的AS代码复制过来,在语法上稍加修改,竟然直接可以运行了
关于游戏的源码,大家点击鼠标右键就可以自己看了,我就不多说了


四,LegendForHtml5Programming1.0库件的语法举例
使用前,需要在html中引进LegendForHtml5Programming1.0库件的legend.js文件,然后在legend.js中配置你的库件所在的位置


1,显示图片
var loader;  
function main(){  
    loader = new LLoader();  
    loader.addEventListener(LEvent.COMPLETE,loadBitmapdata);  
    loader.load("10594855.png","bitmapData");  
}  
function loadBitmapdata(event){  
    var bitmapdata = new LBitmapData(loader.content);  
    var bitmap = new LBitmap(bitmapdata);  
    addChild(bitmap);  
}  
//图片的缩放
bitmapdata = new LBitmapData(imglist["chara"]);
showImg2 = new LBitmap(bitmapdata);
showImg2.scaleX = 0.2;
showImg2.scaleY = 0.2;
//图片的透明度
bitmapdata = new LBitmapData(imglist["chara"]);
showImg3 = new LBitmap(bitmapdata);
showImg3.alpha = 0.2;
//图片的旋转
bitmapdata = new LBitmapData(imglist["chara"]);
showImg4 = new LBitmap(bitmapdata);
showImg4.rotate = 50;

2,Sprite的使用
var backLayer = new LSprite();  
addChild(backLayer); 
//在sprite上加child
backLayer.addChild(mapimg);  
 
3,事件
//frame事件
//backLayer.addEventListener(LEvent.ENTER_FRAME, onframe)  
//鼠标事件
//backLayer.addEventListener(LMouseEvent.MOUSE_DOWN, onframe)  

鼠标事件可以添加MOUSE_DOWN,MOUSE_UP,MOUSE_MOVE
如果你开发的是iphone,ipad或者android,那么该库件会自动将MOUSE_DOWN,MOUSE_UP,MOUSE_MOVE转换为TOUCH_START,TOUCH_END,TOUCH_MOVE,无需自己添加touch事件
4,继承
在构造器中调用base(this,LSprite,[]);方法既可实现继承
三个参数分别是自己,要继承的父类,父类构造器的参数
5,Graphics绘图
backLayer = new LSprite();  
addChild(backLayer);  
//画一圆  
backLayer.graphics.drawRect(1,"black",[20, 20, 150, 20],true,"#cccccc");  
//画一个矩形  
backLayer.graphics.drawArc(2,"black",[100, 100, 50, 0,2*Math.PI,false],true,"#FF0000");  
//画一条线  
backLayer.graphics.drawLine(2,"#FF0000",[200, 20, 100, 50]);  

6,文字与输入框
//文字显示  
var txt = new LTextField();  
txt.x = 100;  
txt.text = "TextField 测试";  
addChild(txt);  
//输入框  
var txt1 = new LTextField();  
txt1.x = 100;  
txt1.y = 50;  
txt1.setType(LTextFieldType.INPUT);  
addChild(txt1);  

7,按钮
function gameInit(event){  
    backLayer = new LSprite();  
    addChild(backLayer);  
      
    btn01 = new LButton(new LBitmap(new LBitmapData(imglist["replay_button_up"])),new LBitmap(new LBitmapData(imglist["replay_button_over"])));  
    btn01.x = 76;  
    btn01.y = 50;  
    backLayer.addChild(btn01);  
      
    btn02 = new LButton(new LBitmap(new LBitmapData(imglist["quit_button_up"])),new LBitmap(new LBitmapData(imglist["quit_button_over"])));  
    btn02.x = 76;  
    btn02.y = 100;  
    backLayer.addChild(btn02);  
      
    btn01.addEventListener(LMouseEvent.MOUSE_DOWN, onmousedown01);  
    btn02.addEventListener(LMouseEvent.MOUSE_DOWN, onmousedown02);  
}  
function onmousedown01(event){  
    alert("btn01 on click");  
}  
function onmousedown02(event){  
    alert("btn02 on click");  
}  

欢迎大家使用以及提出意见等

【ActionScript】Flash与网页的交互,ActionScript与JavaScript的交互

Flash是可以轻松与网页交互数据的,不然为何Flash会有这么大的生命力呢?只是这样编程比较麻烦而已,又要调试Flash,然后又要放到服务器上调试。不过这样的方式能够收到很好的效果,Flash强大的...
  • yongh701
  • yongh701
  • 2015年06月25日 09:13
  • 3324

各种开源项目/库/工具介绍

值得学习的C语言开源项目- 1. Webbench Webbench是一个在linux下使用的非常简单的网站压测工具。它使用fork()模拟多个客户端同时访问我们设定的URL,测试网站在压力下工作的性...
  • QKK612501
  • QKK612501
  • 2017年01月16日 19:15
  • 1285

Linux下Verilog仿真过程(一)

1》编写测试模块fa_seq.v
  • cxc19890214
  • cxc19890214
  • 2014年11月02日 15:35
  • 2506

用仿ActionScript的语法来编写html5——第三篇,鼠标事件与游戏人物移动

第三篇,鼠标事件与游戏人物移动 用仿ActionScript的语法来编写html5——第一篇,显示一张图片 http://blog.csdn.net/lufy_legend/article...
  • lufy_Legend
  • lufy_Legend
  • 2011年09月13日 11:34
  • 7566

开源免费的HTML5游戏引擎——青瓷引擎(QICI Engine) 1.0正式版发布了!

青瓷引擎是一套开源免费的JavaScript游戏引擎类库,其基于开源免费的Phaser游戏引擎,并提供了一套完全基于浏览器的跨平台集成式HTML5游戏编辑器。...
  • QICIEngine
  • QICIEngine
  • 2015年12月15日 13:39
  • 1794

开源免费的HTML5游戏引擎——青瓷引擎(QICI Engine) 1.0正式版发布了!

http://www.cnblogs.com/qici/p/5047464.html 青瓷引擎的成长 青瓷引擎自2015年4月项目启动开始,7月首次亮相2015年ChinaJoy,便得...
  • zdy0_2004
  • zdy0_2004
  • 2015年12月29日 11:54
  • 513

Mobile First!开源HTML5游戏引擎Kiwi.js 1.0正式发布

摘要:Kiwi.js是GameLab公司开发的一款开源HTML5 JavaScript游戏引擎,主张Mobile First,其目标是将Kiwi.js打造成为HTML5游戏引擎中的WordPress,...
  • lk5423968
  • lk5423968
  • 2014年06月05日 16:46
  • 449

手机静态模板——仿Ocean微官网触屏版html5响应式手机wap网站模板

  • 2014年07月29日 09:27
  • 884KB
  • 下载

手机静态模板——仿Slideby触屏版html5响应式手机wap网站模板

  • 2014年07月29日 09:18
  • 3.11MB
  • 下载

使用Python语言编写简单的HTML5语法解析器

使用Python语言编写简单的HTML5语法解析器 摘要:通过使用Python语言编写一个简单的HTML5语法解析器作为例子,探讨了在设计手写的递归下降语法解析器程序时需要注意的一些事项。   关...
  • cteng
  • cteng
  • 2014年09月04日 10:35
  • 2185
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:用仿ActionScript的语法来编写html5——终篇,LegendForHtml5Programming1.0开源库件
举报原因:
原因补充:

(最多只允许输入30个字)