為AS2.0添磚加瓦-編寫類擴展(2)_Flash教程
教程Tag:暫無Tag,歡迎添加,賺取U幣!
推薦:為AS2.0添磚加瓦-編寫類擴展(1)[序]基于類的編程,使得我們可以更加輕松地定制屬于自己的對象,同時也給已有類的擴展提供了極大的方便。現在我們可以通過extends要害字實現繼續,并通過impo
FlashMX2004 as2.0制作一個控制移動的類新建一個as文件,存為moveclass.as
class moveclass extends MovieClip
//定義這個類為MovieClip擴展類:
{
var speed:Number;
var w:Number;
var h:Number;
//定義三個變量分別為速度,移動邊界寬,移動邊界長
function move_ctrl(w:Number,h:Number,speed:Number)
//寫一個有三個變量的move_ctrl方法,用于控制MovieClip;
{
if(Key.isDown(Key.RIGHT)) //得到方向鍵的確定
{
this._x =speed; //MovieClip向X軸移動speed位置
this._rotation = 90;//轉向
if(this._x > w) //判定是否超過邊界寬
{
this._x = w;
}
}
//下面同上進行方向鍵判定
if(Key.isDown(Key.LEFT ))
{
this._x -=speed;
this._rotation = 270;
if(this._x < 0)
{
this._x = 0;
}
}
if(Key.isDown(Key.UP))
{
this._y -=speed;
this._rotation = 0;
if(this._y < 0)
{
this._y = 0;
}
}
if(Key.isDown(Key.DOWN))
{
this._y =speed;
this._rotation = 180;
if(this._y > h)
{
this._y = h;
}
}
//微調方向,小轉彎.
if (Key.isDown(Key.LEFT) && Key.isDown(Key.UP) && !Key.isDown(Key.RIGHT) && !Key.isDown(Key.DOWN)) {
this._rotation = 315;
}
if (Key.isDown(Key.RIGHT) && Key.isDown(Key.UP) && !Key.isDown(Key.LEFT) && !Key.isDown(Key.DOWN)) {
this._rotation = 45;
}
if (Key.isDown(Key.LEFT) && Key.isDown(Key.DOWN) && !Key.isDown(Key.RIGHT) && !Key.isDown(Key.UP)) {
this._rotation = 225;
}
if (Key.isDown(Key.RIGHT) && Key.isDown(Key.DOWN) && !Key.isDown(Key.LEFT) && !Key.isDown(Key.UP)) {
this._rotation = 135;
}
}
}
然后建立一個fla,在里面建立一個MovieClip,比如汽車等要移動的物體.
Ctrl L.調出庫,點這個MC,按右鍵,選擇Linkage,用于把這個MC擴展
成CLASS類.
如圖所示進行設置:


然后.返回Layer1,放入這個MC.并命名為Linkage里所取名一樣.

現在我們在Layer1的第一幀里寫上:
car.onEnterFrame = function() {
car.move_ctrl(300,200,10);
}
就可以調用這個設置好的擴展類及其方法:
只要寫上3個參數變量就行
也可以先設定變量或者和輸入文本框.如:
speed =5;
w = Stage.width;
h = Stage.height;
car.onEnterFrame = function() {
car.move_ctrl(w,h,speed);
}
flash6.0做這樣一個移動控制也很方便.可以參考FLASH6.0里的幫助文件也有一個汽車控制
但是7.0的AS2.0的目的.是能夠把代碼和FLA盡量分開寫.腳本被作為一個Class類.可以更好
的多重利用.修改擴展腳本更方便.
這個例子很簡單.只是介紹一下AS2.0和AS.10的區別,其實可以寫得更復雜一點.比如更好的
控制微調.做FLASH游戲的高手甚至可以把這個CLASS寫成自己專用的控制引擎.
分享:關于As2.0 編程的一些規則Java編程規則包含了大量有用的建議,幫助大家進行低級程序設計,并提供了代碼編寫的一般性指導,鑒于AS2.0與Java的相似性,很多建議對As2.0同樣有效,特摘選部
相關Flash教程:
- 相關鏈接:
- 教程說明:
Flash教程-為AS2.0添磚加瓦-編寫類擴展(2)
。