一,LegendForHtml5Programming1.0库件是什么?
它是一个javascript库,它模仿了ActionScript的语法,用于html5的开发,目前实现的功能相对较少,还不能称之为引擎,希望将来可以作为html5的开源引擎,为html5开发者提供服务。二,LegendForHtml5Programming1.0库件的构建过程请参照下面的九篇文章,最终代码和构建过程会有些出入,以源码为准。用仿ActionScript的语法来编写html5系列文章第一篇,显示一张图片第二篇,利用Sprite来实现动画第三篇,鼠标事件与游戏人物移动第四篇,继承与简单的rpg第五篇,Graphics绘图第六篇,TextField与输入框第七篇,自定义按钮第八篇,图片处理+粒子效果第九篇,仿URLLoader读取文件三,LegendForHtml5Programming1.0库件的使用举例下面是使用LegendForHtml5Programming1.0开发的两个简陋的小游戏,只是为了试验,非常简陋,以后会开发几个像样的游戏来做参照。1,俄罗斯方块2,抽奖小游戏个人感觉,该库件使用起来还是很方便的,尤其上面的俄罗斯方块,我是直接把以前的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上加childbackLayer.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"); }
欢迎大家使用以及提出意见等