為AS2.0添磚加瓦-編寫類擴展(1)_Flash教程
推薦:關于As2.0 編程的一些規則Java編程規則包含了大量有用的建議,幫助大家進行低級程序設計,并提供了代碼編寫的一般性指導,鑒于AS2.0與Java的相似性,很多建議對As2.0同樣有效,特摘選部
[序]
基于類的編程,使得我們可以更加輕松地定制屬于自己的對象,同時也給已有類的擴展提供了極大的方便。
現在我們可以通過extends要害字實現繼續,并通過import來導入位于其他.as文件中的類。
在這些基礎之上,我們完全可以發展自己的想象力,改進已有的AS,使之成為一款適合自己的腳本語言。!
我和花兄的這兩篇教程,算是打了個頭炮,雖然簡單,但是希望能起到拋磚引玉的作用。
以后歡迎大家積極地把自己寫的類放上來,配上教程和源文件下載,以供大家學習使用。
P.S.對于那些有價值的擴展類(常用且通用性強),藍色老大會適當做出獎勵哦 :D:D
[正文]
下面這個例子非常簡單,它向你說明如何擴展MoiveClip類,加入自己編寫的方法。
假如你是一名數學老師,那么三角函數的圖像肯定是你經常要用到的東西,下面我們就來擴展MovieClip類,
增加一個繪制正/余弦三角函數圖像的方法。
第一步,編寫類定義文件:
首先,新建一個Action Script File,命名為:JC_MCExtend.as。
因為在這個類中,我們不需要構造函數(只是對MoiveClip一個擴展),所以這個命名可以隨意。
添加如下代碼:
class JC_MCExtend extends MovieClip //用extends來繼續MovieClip類
{
//繪制坐標軸(簡易)
function drawRF()
{
this.lineStyle(1,0x000000,100);
this.moveTo(Stage.width/2,0);
this.lineTo(Stage.width/2,Stage.height);
this.moveTo(0,Stage.height/2);
this.lineTo(Stage.width,Stage.height/2);
}
//繪制正弦函數 y=A*Sin(B*x C) D 的函數圖像
function drawFunc(startX:Number,endX:Number,A:Number,B:Number,C:Number,D:Number)
{
this.moveTo(Stage.width/2 startX,Stage.height/2-(A*Math.sin(0.1*B*startX C) D));
this.lineStyle(1,0xff0000,100);
for(var x=startX;x<endX;x =0.1)
this.lineTo(Stage.width/2 x,Stage.height/2-(A*Math.sin(0.1*B*x C) D));
}
}
我想上面有關繪制的部分就不用解釋了,都是MX的語法,值得注重的是參數的聲明,
格式為“參數名:參數類型”,雖然麻煩,但大家一定要習慣才行。
接下來該是FLA的部分了,新建一個Flash文檔,命名為testMCExtend.fla。
首先,要讓Flash知道你的Class文件所在的路徑,
在文件-發布設置-Flash選項卡中,選中AS2.0,并在后面的Settings設置中添加你的JC_MCExtend.as所在路徑。
回到場景中,在庫中新建一個MC,命名為:draw。
在庫中右鍵點擊這個MC,選擇Linkage。
在時間軸第一楨,加入如下AS:
_root.attachMovie("draw","draw_mc",0);
//繪制坐標軸
draw_mc.drawRF();
//繪制函數 y=30*Sin(x PI/2)的函數圖
draw_mc.drawFunc(-100,100,30,1,Math.PI/2,0);
OK,ctrl Enter測試,
分享:Action Script 2.0新手調試AS2.0確實讓人興奮。假如有java編程經驗的話,你可以很快上手。Step1.新建一個ActionScriptFile。這個文件是用來定義你的Class的。居個簡單的例子,
- 相關鏈接:
- 教程說明:
Flash教程-為AS2.0添磚加瓦-編寫類擴展(1)。