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


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

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