一,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,显示图片

  1. var loader;
  2. function main(){
  3. loader = new LLoader();
  4. loader.addEventListener(LEvent.COMPLETE,loadBitmapdata);
  5. loader.load("10594855.png","bitmapData");
  6. }
  7. function loadBitmapdata(event){
  8. var bitmapdata = new LBitmapData(loader.content);
  9. var bitmap = new LBitmap(bitmapdata);
  10. addChild(bitmap);
  11. }
  12. //图片的缩放
  13. bitmapdata = new LBitmapData(imglist["chara"]);
  14. showImg2 = new LBitmap(bitmapdata);
  15. showImg2.scaleX = 0.2;
  16. showImg2.scaleY = 0.2;
  17. //图片的透明度
  18. bitmapdata = new LBitmapData(imglist["chara"]);
  19. showImg3 = new LBitmap(bitmapdata);
  20. showImg3.alpha = 0.2;
  21. //图片的旋转
  22. bitmapdata = new LBitmapData(imglist["chara"]);
  23. showImg4 = new LBitmap(bitmapdata);
  24. showImg4.rotate = 50;

2,Sprite的使用

  1. var backLayer = new LSprite();
  2. addChild(backLayer);
  3. //在sprite上加child
  4. backLayer.addChild(mapimg);

3,事件

  1. //frame事件
  2. //backLayer.addEventListener(LEvent.ENTER_FRAME, onframe)
  3. //鼠标事件
  4. //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绘图

  1. backLayer = new LSprite();
  2. addChild(backLayer);
  3. //画一圆
  4. backLayer.graphics.drawRect(1,"black",[20, 20, 150, 20],true,"#cccccc");
  5. //画一个矩形
  6. backLayer.graphics.drawArc(2,"black",[100, 100, 50, 0,2*Math.PI,false],true,"#FF0000");
  7. //画一条线
  8. backLayer.graphics.drawLine(2,"#FF0000",[200, 20, 100, 50]);

6,文字与输入框

  1. //文字显示
  2. var txt = new LTextField();
  3. txt.x = 100;
  4. txt.text = "TextField 测试";
  5. addChild(txt);
  6. //输入框
  7. var txt1 = new LTextField();
  8. txt1.x = 100;
  9. txt1.y = 50;
  10. txt1.setType(LTextFieldType.INPUT);
  11. addChild(txt1);

7,按钮

  1. function gameInit(event){
  2. backLayer = new LSprite();
  3. addChild(backLayer);
  4.  
  5. btn01 = new LButton(new LBitmap(new LBitmapData(imglist["replay_button_up"])),new LBitmap(new LBitmapData(imglist["replay_button_over"])));
  6. btn01.x = 76;
  7. btn01.y = 50;
  8. backLayer.addChild(btn01);
  9.  
  10. btn02 = new LButton(new LBitmap(new LBitmapData(imglist["quit_button_up"])),new LBitmap(new LBitmapData(imglist["quit_button_over"])));
  11. btn02.x = 76;
  12. btn02.y = 100;
  13. backLayer.addChild(btn02);
  14.  
  15. btn01.addEventListener(LMouseEvent.MOUSE_DOWN, onmousedown01);
  16. btn02.addEventListener(LMouseEvent.MOUSE_DOWN, onmousedown02);
  17. }
  18. function onmousedown01(event){
  19. alert("btn01 on click");
  20. }
  21. function onmousedown02(event){
  22. alert("btn02 on click");
  23. }

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

用仿ActionScript的语法来编写html5——终篇,LegendForHtml5Programming1.0开源库件的更多相关文章

  1. 用仿ActionScript的语法来编写html5——第九篇,仿URLLoader读取文件

    第九篇,仿URLLoader读取文件 先看看最后的代码 function readFile(){ urlloader = new LURLLoader(); urlloader.addEventLis ...

  2. 用仿ActionScript的语法来编写html5——第二篇,利用Sprite来实现动画

    上一篇,我已经模仿as,加入了LBitmap和LBitmapData类,并且用它们实现了静态图片的显示.这次用Sprite来动态显示图片.依然遵循上一篇对显示对象的处理的思路,添加LSprite类,并 ...

  3. 用仿ActionScript的语法来编写html5——第一篇,显示一张图片

    第一篇,显示一张图片 一,代码对比 as代码: public var loader:Loader; public function loadimg():void{ loader = new Loade ...

  4. 用仿ActionScript的语法来编写html5——第八篇,图片处理+粒子效果

    用仿ActionScript的语法来编写html5系列开发到现在,应该可以做出一些东西了,下面先来研究下图片的各种效果预览各种效果看下图效果和代码看这里,看不到效果的请下载支持html5的浏览器 ht ...

  5. 用仿ActionScript的语法来编写html5——第五篇,Graphics绘图

    用仿ActionScript的语法来编写html5——第五篇,Graphics绘图 canvas本身就是一个Graphics,可以直接进行绘图在actionscript里面,每个Sprite都有一个G ...

  6. 用仿ActionScript的语法来编写html5——第六篇,TextField与输入框

    一,对比1,html5中首先看看在html5的canvas中的文字显示 var canvas = document.getElementById("myCanvas"); var ...

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

    第三篇,鼠标事件与游戏人物移动 一,假设假设,所有可添加鼠标事件的对象,都有一个mouseEvent方法,添加的鼠标事件同过这个mouseEvent来调用.这样的话,添加鼠标事件,其实只需要给canv ...

  8. 用仿ActionScript的语法来编写html5——第七篇,自定义按钮

    第七篇,自定义按钮这次弄个简单点的,自定义按钮.其实,有了前面所定义的LSprite,LBitmap等类,定义按钮就很方便了.下面是添加按钮的代码, function gameInit(event){ ...

  9. 用仿ActionScript的语法来编写html5——第四篇,继承与简单的rpg

    第四篇,继承与简单的rpg 这次用继承自LSprite的类来实现简单的rpg的demo先看一下最后的代码与as的相似度 var backLayer; //地图 var mapimg; //人物 var ...

随机推荐

  1. git统计报告

    2016年10月30日--2016年11月9日

  2. [ZZ] RGBM and RGBE encoding for HDR

    Deferred lighting separate lighting rendering and make lighting a completely image-space technique. ...

  3. jQuery 判断表单中多个 input text 中至少有一个不为空

    html: 名称1:<input class="seasoning_name" type="text" name="seasoning_name ...

  4. pycharm 皮肤主题及个性化设置

    1.设置IDE皮肤主题 File -> Settings -> IDE Settings -> Appearance -> Theme -> 选择“Alloy.IDEA ...

  5. sql语句 当前时间查找重复 时间戳转换

    查找重复数据 select id, name, memo from A ) >= ) mysql 当前时间 SELECT NOW(); //2015-10-27 16:43:45 UNIX时间戳 ...

  6. Hashtable、Dictionary和List 谁效率更高

    一 前言 很少接触HashTable晚上回来简单看了看,然后做一些增加和移除的操作,就想和List 与 Dictionary比较下存数据与取数据的差距,然后便有了如下的一此测试, 当然我测的方法可能不 ...

  7. qTip2 精致的jQuery提示信息插件

    qTip2 精致的jQuery提示信息插件    出处:http://www.cnblogs.com/lwme/archive/2012/02/16/qtip2-jquery-plugin.html ...

  8. Window上装PHP开发环境 (XAMPP)

    原作者:http://www.cnblogs.com/martin1009/archive/2011/11/11/2245794.html 1. 从www.apachefriends.org 上下载X ...

  9. android动态调试samli代码(转)

    转载自看雪http://bbs.pediy.com/showthread.php?t=189610,非常感谢原作者分享! 跟踪apk一般的做法是在反编译的smali代码中插入log输出,然后重新编译运 ...

  10. jquery.autocomplete.js 插件的自定义搜索规则

    这二天开始用jquery.autocomplete这个自动完成插件.功能基本比较强大,但自己在实际需求中发现还是有一处不足!问题是这样:当我定义了一个本地数据JS文件时,格式为JSON式的数组.如下: ...