用仿ActionScript的文法來編寫html5——終篇,LegendForHtml5Programming1.0開源庫件

來源:互聯網
上載者:User

標籤:addchild   img   代碼   eve   touch   end   set   index   roi   

一,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上加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");  }  

歡迎大家使用以及提出意見等

用仿ActionScript的文法來編寫html5——終篇,LegendForHtml5Programming1.0開源庫件

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.