麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 辦公 > Flash > 正文

AS2.0面向對象編程的解釋

2020-07-17 13:19:01
字體:
來源:轉載
供稿:網友
有時間,有興趣,E文還行的可以直接上這看:http://www.kirupa.com/developer/oop2/AS2OOPindex.htm,很長,很詳細。
我簡單地把我理解的說一下,錯誤在所難免,不嗇賜教,共同進步
引用張圖先:


所有的類都是在外部定義,當然如果要使用它們的話,需要設置一下類路徑,點擊發布設置->actionscript2設置,在類路徑里添加你要使用的類路徑就行了,當然如果你希望每個flash都使用那些類,那么可以在"編輯->首選項->actionscript2設置"那添加類路徑。當然如果只是圖個方便的話,直接放到當前文件夾下面就可以了。
在一個.as文件里只能有一個class,而且這個class的name必須和文件名相同。比如有一個motion.as,那么就必須定義一個motion類:
//motion.as
class motion extends MovieClip{
function motion(){
// constructor
}
}
看起來比較死板,但管理起來確實方便了不少。
可以建立一個構造函數(就是跟class同名的函數),這樣實例化的時候就可以調用該函數。
變量的類型
支持private,static和public,private不允許外部訪問和修改,但可以被children讀寫(所以相當于protected),默認如果用var聲明的話,是public,static可以不用實例化,直接使用。
函數的類型
跟變量的類型一樣,也是private,static和public三種,static聲明的可以直接使用,比如Math.random()。靜態函數只能使用靜態變量,其他類型的函數不受影響。
再來講講interface,給我的感覺,interface就是為了方便多人協作,避免某些函數沒有被聲明。


//simpleInterface.as
interface simpleInterface {
function head();
function body();
function foot();
//myClass.as
class myClass implements simpleInterface {
function head(){
trace("I'm head");
}
function body(){
trace("I'm body");
}
function foot(){
trace("I'm foot");
}
}
繼承
繼承的類擁有父類的所有方法和變量(通過extends實現)
//ball擁有mc的所有方法,同時還有自己的fly方法
//ball.as
class ball extends MovieClip{
private var height:Number;
function fly(){
trace("I can fly " height " m");
}
function ball(h){
height = h;
}
}
//時間軸
myball = new ball(30);
myball.fly();//trace "I can fly 30 m"
關于構造函數
如果子類的構造函數沒有顯示調用父類的構造函數,那么flash會自動給你加上,當然也可以通過super()手動加上
也可通過super去調用父類的其他方法,比如super.parentMethod();
如果想讓舞臺上的某個mc使用我們自定義的類的話,在鏈接處的class里天上類名就可以了:


最后來說說文件的管理,最好是新建一個項目,這樣查看起來非常方便。
好了,就說這么多了,有時間附上個demo。
歡迎討論。
附個小demo
ball.as
class ball extends MovieClip {
private var spring:Number = 0.1;
private var friction:Number = 0.95;
private var centerX = (Stage.width-this._width)/2;
private var v:Number = 0;
public function ball() {
_x = 0;
_y = Stage.height/2 - _height/2;
this.onEnterFrame = this.start_spring;
}
private function start_spring() {
var a:Number = (centerX - _x)*spring;
v = a;
//v *= friction;
_x = v;
}
}
在當前路徑下,新建一個mc,然后按下圖:


最后ctrl enter就能看到效果了。
源文件下載:ball.rar

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 亚洲成人网一区 | 久久国产成人精品国产成人亚洲 | 欧美黄 片免费观看 | 黄色av电影在线播放 | 极品xxxx欧美一区二区 | 国产免费人做人爱午夜视频 | 亚欧在线免费观看 | av免费在线不卡 | 成人h视频在线 | 久久丝袜脚交足黄网站免费 | 深夜影院一级毛片 | 91午夜免费视频 | 亚欧美一区二区 | 看免费5xxaaa毛片 | 18视频在线观看娇喘 | 国产精品视频二区不卡 | 美女露100%无遮挡 | 成人午夜在线免费视频 | 欧美日韩成人一区二区 | 综合日韩av | 李宗瑞国产福利视频一区 | 男女羞羞视频 | 性aaa | 午夜视频国产 | 精品国产高清一区二区三区 | 亚洲国产精品久久久久久久久久久 | 激情亚洲一区二区 | 午夜91视频 | 91成人影院 | 久久毛片免费观看 | 日本高清com | 91短视频版高清在线观看免费 | 伦一区二区三区中文字幕v亚洲 | 久草网在线 | 日本中文字幕高清 | 欧美一级黄色录像片 | 深夜小视频在线观看 | 亚洲精品欧美二区三区中文字幕 | 狠狠操电影 | 久久久成人一区二区免费影院 | 国产在线一区二区三区 |