[1b][序]
[/1b]基於類的程式設計,使得我們可以更加輕鬆地定製屬於自己的物件,同時也給已有類的擴充套件提供了極大的方便。
現在我們可以通過extends關鍵字實現繼承,並通過import來匯入位於其他.as檔案中的類。
在這些基礎之上,我們完全可以發展自己的想象力,改進已有的as,使之成為一款適合自己的指令碼語言。!
我和花兄的這兩篇教程,算是打了個頭炮,雖然簡單,但是希望能起到拋磚引玉的作用。
p.s.對於那些有價值的擴充套件類(常用且通用性強),藍色老大會適當做出獎勵哦 :d:d
[1b][正文][/1b]
下面這個例子非常簡單,它向你說明如何擴充套件moiveclip類,加入自己編寫的方法。
如果你是一名數學老師,那麼三角函式的影象肯定是你經常要用到的東西,下面我們就來擴充套件movieclip類,
增加乙個繪製正/余弦三角函式影象的方法。
第一步,編寫類定義檔案:
首先,新建乙個action script file,命名為:jc_mcextend.as。
因為在這個類中,我們不需要建構函式(只是對moiveclip乙個擴充套件),所以這個命名可以隨意。
**拷貝框
class jc_mcextend extends movieclip //用extends來繼承movieclip類
//繪製正弦函式 y=a*sin(b*x+c)+d 的函式影象
function drawfunc(startx:number,endx:number,a:number,b:number,c:number,d:number)
}//下面同上進行方向鍵判斷
if(key.isdown(key.left ))
}//微調方向,小轉彎.
if (key.isdown(key.left) && key.isdown(key.up) && !key.isdown(key.right) && !key.isdown(key.down))
if (key.isdown(key.right) && key.isdown(key.up) && !key.isdown(key.left) && !key.isdown(key.down))
if (key.isdown(key.left) && key.isdown(key.down) && !key.isdown(key.right) && !key.isdown(key.up))
if (key.isdown(key.right) && key.isdown(key.down) && !key.isdown(key.left) && !key.isdown(key.up)) }}
[ctrl+a 全部選擇 然後拷貝]
然後建立乙個fla,在裡面建立乙個movieclip,比如汽車等要移動的物體.
ctrl+l.調出庫,點這個mc,按右鍵,選擇linkage,用於把這個mc擴充套件
成class類.
如圖所示進行設定:
[img]/uploads/allimg/080325/1648302.gif[/img]
[img]
然後.返回layer1,放入這個mc.並命名為linkage裡所取名一樣.
[img]
現在我們在layer1的第一幀裡寫上:
car.onenterframe = function()
就可以呼叫這個設定好的擴充套件類及其方法:
只要寫上3個引數變數就行
也可以先設定變數或者和輸入文字框.如:
speed =5;
w = stage.width;
h = stage.height;
car.onenterframe = function()
flash6.0做這樣乙個移動控制也很方便.可以參考flash6.0裡的幫助檔案也有乙個汽車控制,但是7.0的as2.0的目的.是能夠把**和fla盡量分開寫.指令碼被作為乙個class類.可以更好的多重利用.修改擴充套件指令碼更方便.
這個例子很簡單.只是介紹一下as2.0和as.10的區別,其實可以寫得更複雜一點.比如更好的控制微調.做flash遊戲的高手甚至可以把這個class寫成自己專用的控制引擎.
[url=示例位址[/url]
[url=
[url=
_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);
為Unity元件編寫擴充套件
這幾行 寫到乙個editor檔案中,就可以在滑鼠選中某個遊戲物件時,列印出它的路徑,let me show you the code using unityengine using unityeditor using system.collections public class toolkit e...
Swift快速為類擴充套件屬性
在程式編寫過程中,我們常常需要為已有的類擴充套件新的屬性。通常我們的解決辦法是先宣告乙個key,然後使用objc getassociatedobject和objc setassociatedobject來設定屬性。相對來說比較麻煩,因為擴充套件屬性的需求比較大,所以筆者對這兩個方法做了一些封裝,減少...
工具類編寫思路擴充套件之泛型反射
public class admindao extends basedao public class accountdao extends basedao public class basedao type types pt.getactualtypearguments 獲取資料的第乙個元素 acc...