日韩天天综合网_野战两个奶头被亲到高潮_亚洲日韩欧美精品综合_av女人天堂污污污_视频一区**字幕无弹窗_国产亚洲欧美小视频_国内性爱精品在线免费视频_国产一级电影在线播放_日韩欧美内地福利_亚洲一二三不卡片区

為AS2.0添磚加瓦-編寫類擴(kuò)展(2)_Flash教程

編輯Tag賺U幣
教程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è)置:
click for full size

click for full size

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

click for full size

現(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同樣有效,特摘選部

來源:設(shè)計(jì)前沿網(wǎng)上收集//所屬分類:Flash教程/更新時(shí)間:2008-03-05
相關(guān)Flash教程