最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Flash AS 教程:子類化顯示對(duì)象

互聯(lián)網(wǎng)   發(fā)布時(shí)間:2008-10-06 01:25:04   作者:佚名   我要評(píng)論
子類化顯示對(duì)象 前面已經(jīng)講過生成 Sprite 或 MovieClip 類的子類,對(duì)某個(gè)類進(jìn)行子類化是非常有用的。首先,大家可能對(duì) AS 3 取消 attachMovieClip 功能感到十分驚呀,如果這樣的話,我們?cè)趺床拍茉?Flash CS3 IDE 庫中取出影片剪輯元件放入舞臺(tái)呢?答案是,使用一個(gè)繼承自
子類化顯示對(duì)象
前面已經(jīng)講過生成 Sprite 或 MovieClip 類的子類,對(duì)某個(gè)類進(jìn)行子類化是非常有用的。首先,大家可能對(duì) AS 3 取消 attachMovieClip 功能感到十分驚呀,如果這樣的話,我們?cè)趺床拍茉?Flash CS3 IDE 庫中取出影片剪輯元件放入舞臺(tái)呢?答案是,使用一個(gè)繼承自 MovieClip 或 Sprite 的類。為了能夠好地解釋這個(gè)問題,簡單地介紹一下 IDE:
    創(chuàng)建一個(gè)新的 FLA 文件,并在舞臺(tái)上繪制一些圖形。 選中圖形按下 F8 鍵轉(zhuǎn)換為元件。 在轉(zhuǎn)換為元件窗口中輸入一個(gè)名稱,并設(shè)置為影片剪輯類型。 選擇為 ActionScript 導(dǎo)出。
在以前的 Flash 版本中,可以自由地給出標(biāo)識(shí)符或輸入一個(gè)類名。而在 Flash CS3 中,標(biāo)識(shí)符一欄不可用了,類一欄會(huì)自動(dòng)地填入默認(rèn)值。這里還多出了基類一欄,默認(rèn)為 flash.display.MovieClip,這里也可以填入繼承自 MovieClip 或 Sprite 的自定義類。
隨意輸入一個(gè)類名,不必?fù)?dān)心沒有這個(gè)類,然后點(diǎn)擊確定。這個(gè)地方很有趣,F(xiàn)lash 找不到這個(gè)類,它就會(huì)自動(dòng)生成一個(gè)類,并對(duì)其進(jìn)行編譯。并不是說 Flash 會(huì)創(chuàng)建一個(gè) ActionScript 類文件,但它會(huì)在 SWF 中,生成一串字節(jié)代碼表示一個(gè)繼承自 Sprite 或 MovieClip 的類。除了繼承了基類,它什么都不會(huì)做,但它已經(jīng)與庫中的元件連接上了。比如,你的類名為 Ball。在文檔類或時(shí)間軸上,可以這么寫:
var ball:Ball = new Ball();
addChild(ball);
這樣就在舞臺(tái)上創(chuàng)建了一個(gè)庫中的元件,就像 AS 2 的 attachMovie 方法一樣。我們要是能給出自定義的真正的類名及路徑的話,那么就可以讓元件附加很多功能?,F(xiàn)在,我們跳出 Flash IDE 回到類的世界,看下一個(gè)示例。下面再看一個(gè)重定父級(jí)的示例,這里有一些重復(fù)的部分可以寫入另一個(gè)類中。看一下示例,假設(shè)已經(jīng)創(chuàng)建了一個(gè)名為 parent1 的 Sprite 實(shí)例,要里面繪制正方形:
parent1.graphics.lineStyle(1, 0);
parent1.graphics.drawRect(-50, -50, 100, 100);
下面再創(chuàng)建一個(gè)名為 parent2 的 Sprite 實(shí)例,同樣也是繪制一個(gè)正方形。當(dāng)然這個(gè)例子毫無意義,但它可以告訴我們 Sprite 的子類是多么的有用。首先,我們建立一個(gè)名為 ParentBox 的類,并繼承自 Sprite,這樣一來,就擁有了繪制正方形的代碼:
package {
import flash.display.Sprite;
public class ParentBox extends Sprite {
public function ParentBox() {
init();
}
private function init():void {
graphics.lineStyle(1, 0);
graphics.drawRect(-50, -50, 100, 100);
}
}
}
然后,使用這個(gè)類創(chuàng)建兩個(gè) ParentBox,這樣做比創(chuàng)建兩個(gè) Sprite 對(duì)象要好得多。
package {
import flash.display.Sprite;
import flash.events.MouseEvent;
public class Reparenting2 extends Sprite {
private var parent1:ParentBox;
private var parent2:ParentBox;
private var ball:Sprite;
public function Reparenting2() {
init();
}
private function init():void {
parent1 = new ParentBox();
addChild(parent1);
parent1.x = 60;
parent1.y = 60;
parent2 = new ParentBox();
addChild(parent2);
parent2.x = 170;
parent2.y = 60;
ball = new Sprite();
parent1.addChild(ball);
ball.graphics.beginFill(0xff0000);
ball.graphics.drawCircle(0, 0, 40);
ball.graphics.endFill();
ball.addEventListener(MouseEvent.CLICK, onBallClick);
}
public function onBallClick(event:MouseEvent):void {
parent2.addChild(ball);
}
}
}
作為 ParentBox 的實(shí)例,它們?nèi)允?Sprite ,因此還可以再增加子影片, init 方法直接進(jìn)行繪圖。雖然這個(gè)示例價(jià)值不大,但可以讓你學(xué)會(huì)這種思想,往后,會(huì)在書中看到更多更復(fù)雜的示例。你也許想自己動(dòng)手創(chuàng)建一個(gè)球(Ball)類,用于繪制小球,雖然這么做不會(huì)減少代碼里,但是當(dāng)你的類變得十分復(fù)雜時(shí),把功能代碼分離到不同的類中,這絕對(duì)是個(gè)好辦法,它比將所有類寫在一起要好得多,同時(shí)還促進(jìn)了代碼的重用性。那么現(xiàn)在就去創(chuàng)建這個(gè) Ball 類吧,在日后的學(xué)習(xí)中還要用到呢。

相關(guān)文章

  • flash cs6鼠標(biāo)跟隨效果實(shí)現(xiàn)代碼分享

    flash cs6想要實(shí)現(xiàn)鼠標(biāo)跟隨效果?該怎么制作呢?今天我們就來看看使用as2.0實(shí)現(xiàn)鼠標(biāo)跟隨效果的教程,需要的朋友可以參考下
    2019-05-19
  • Flash cs6怎么使用代碼輸入中英文文本?

    Flash cs6怎么使用代碼輸入中英文文本?Flash cs6中可以使用文字工具直接輸入文本,也可以使用代碼來輸入文本,該怎么使用代碼輸入文本呢?請(qǐng)看下文詳細(xì)的教程,需要的朋友
    2018-03-11
  • flash as3.0怎么定義抽象類和抽象?

    flash as3.0抽象類怎么定義? as3.0中有很多抽象類,該怎么定義抽象類和抽象方法呢?下面我們就來看看簡單的例子,需要的朋友可以參考下http://m.fzitv.net/softs/408402.
    2018-02-28
  • flash cs6中怎么使用ActionScript3.0?

    flash cs6中怎么使用ActionScript3.0?flash cs6中想要使用ActionScript3.0功能,該怎么使用呢?下面我們就來看看詳細(xì)的教程,需要的朋友可以參考下
    2018-01-25
  • Flash中怎么實(shí)現(xiàn)鼠標(biāo)點(diǎn)擊決定圖像位置?

    本教程給大家分享一個(gè)Flash小教程,教大家在Flash CS6中怎么實(shí)現(xiàn)鼠標(biāo)點(diǎn)擊決定圖像位置?方法很簡單,感興趣的朋友歡迎前來一起分享學(xué)習(xí)
    2018-01-12
  • Flash中如何用代碼將圖片放在自己想要的舞臺(tái)位置?

    本教程教腳本之家的ActionScript教程學(xué)習(xí)者在Flash中如何用代碼將圖片放在自己想要的舞臺(tái)位置,教程講解的詳細(xì),感興趣的朋友歡迎前來分享學(xué)習(xí)
    2017-11-20
  • 在Flash CS6中使用with函數(shù)繪制背景圖教程

    本教程教腳本之家的ActionScript教程學(xué)習(xí)者如何在Flash CS6中使用with函數(shù)繪制背景圖?教程一步步講解的挺詳細(xì),方法也不難,非常適合Flash新手入門學(xué)習(xí)
    2017-11-18
  • Flash怎么設(shè)置元件坐標(biāo)?flash使用代碼設(shè)置元件的坐標(biāo)的教程

    Flash怎么設(shè)置元件坐標(biāo)?flash中導(dǎo)如的元件需要添加坐標(biāo),該怎么定位元件坐標(biāo)呢?下面我們就來看看flash使用代碼設(shè)置元件的坐標(biāo)的教程,需要的朋友可以參考下
    2017-10-11
  • Flash怎么制作來回?fù)u擺的花朵的動(dòng)畫?

    Flash怎么制作來回?fù)u擺的花朵的動(dòng)畫?Flash中想要給花朵制作一段搖擺的動(dòng)畫效果,該怎么制作呢?下面我們就來看看詳細(xì)的教程,很簡單,需要的朋友可以參考下
    2017-05-23
  • Flash怎么制作流動(dòng)七彩色的文字?

    Flash怎么制作流動(dòng)七彩色的文字?想要讓文字動(dòng)起來,該怎么使用flash給文字制作一個(gè)流動(dòng)七彩色的動(dòng)畫呢?下面我們就來看看詳細(xì)的教程,需要的朋友可以參考下
    2017-04-23

最新評(píng)論

化州市| 阜新市| 原阳县| 尼勒克县| 芦溪县| 康定县| 南充市| 长沙市| 丘北县| 搜索| 永泰县| 宜阳县| 常宁市| 柘城县| 鱼台县| 永善县| 苍溪县| 肥城市| 新和县| 江门市| 保定市| 鄢陵县| 美姑县| 肇州县| 房山区| 广平县| 台北县| 尤溪县| 德令哈市| 同德县| 盐亭县| 隆回县| 绥宁县| 阳江市| 富民县| 衡阳市| 应城市| 同仁县| 息烽县| 曲沃县| 宁夏|