国产激情自拍_国产9色视频_丁香花在线电影小说观看 _久久久久国产精品嫩草影院

首頁 > 辦公 > Flash > 正文

通過實例學習Flash AS3.0――案例五

2020-07-17 13:20:07
字體:
來源:轉載
供稿:網友
相關文章: 通過實例學習Flash AS3.0——案例四
首先聲明:本人大菜鳥一個,剛接觸AS3不久,許多理念還沒來得及灌輸,這些case都是從網上down的,但因為解說是英文的,不利我們學習,我就充當一個translater,順便可以讓自己鞏固一下知識。
水平有限,錯誤難免,歡迎大蝦小蝦,大鳥小鳥指正。
下面進入正題:
案例5:熟悉AS3的package,以及多個package之間的相互通信
說明:一個很簡單的demo,有4個按鈕,當鼠標劃過和移開時會呈現出不同的狀態,單擊后變成disabled,再點擊其他的按鈕時,之前disabled的按鈕恢復,被點擊的按鈕失效。
演示:http://www.live-my-life-with-yuyi.com/as3_cases/communicating/
準備工作:打開源文件communicating_final.fla,點擊屬性里的發布設置,點擊Actionscript3旁邊的設置,在最下面的classpath里,引入classes的文件夾的路徑,然后點擊確定,前期工作就準備完了。
代碼
源文件里的代碼很簡單:
import todd.interactive.ButtonSet;
var buttons:ButtonSet = new ButtonSet();
buttons.addButtons([one_mc,two_mc,three_mc,four_mc]);
addChild(buttons);
導入ButtonSet類,實例化,然后調用里面的一個方法,最后將它放到舞臺上。
classes文件夾下面的todd->interactive文件夾里有兩個as文件,其中一個就是剛剛調用的ButtonSet,來看看ButtonSet的源碼:
package todd.interactive
{
//其實只需載入display和events就可以了,不過多載入幾個并不影響文件大小和效率
import flash.display.*;
import flash.events.*;
import flash.filters.*;
import flash.net.*;
import flash.geom.*;
import flash.ui.*;
import flash.utils.*;
import fl.transitions.*;
import fl.transitions.easing.*;

public class ButtonSet extends MovieClip
{
public var buttons:Array;

public function ButtonSet()
{

}

public function addButtons(buttonSet:Array):void
{
buttons = buttonSet;
for(var i:int = 0; i < buttons.length; i )
{
addChild(buttons[i]);
}
}
}
}
一個類應該被放在一個package里面,就像錢應該被放到錢包里一樣。package后面定義的是該類的路徑。然后一系列常用的類。
定義了一個全局變量buttons,在變量前面加一個public就可以了。這樣就能在整個類中被訪問到。
類名應該和文件名一樣(區分大小寫),然后定義一個同名函數,這個函數會在類被初始化時調用,就像php4的類一樣。這里只是搭了個架子,沒有具體內容。
然后定義了一個函數addButtons,它的作用就是將一些mc或者sprites放到自己的container里(addChild)。
還有一個類:DisablingButton,也是位于todd->interactive文件夾下,這也是這個案例的核心。對了,之前已經將RectButton的linkage里的baseClass設置為todd.interactive.DisablingButton。
代碼稍微有點長,且聽我細細道來
package todd.interactive{
import flash.display.*;
import flash.events.*;
import todd.interactive.ButtonSet;
public class DisablingButton extends MovieClip {
var labels:Array;
var thisParent:*;
var thisIndex:int;
public function DisablingButton() {
labels = this.currentLabels;
this.addEventListener(MouseEvent.CLICK, disableButton);
this.addEventListener(MouseEvent.ROLL_OVER, over);
this.addEventListener(MouseEvent.ROLL_OUT, out);
this.addEventListener(Event.ADDED,setParent);
}
function disableButton(event:MouseEvent):void {
for (var i:int = 0; i < labels.length; i ) {
if (labels[i].name == "disable") {
this.gotoAndPlay("disable");
}
}
this.removeEventListener(MouseEvent.CLICK, disableButton);
this.removeEventListener(MouseEvent.ROLL_OVER, over);
this.removeEventListener(MouseEvent.ROLL_OUT, out);
enableOthers();
}
function enableButton():void {
this.addEventListener(MouseEvent.CLICK, disableButton);
this.addEventListener(MouseEvent.ROLL_OVER, over);
this.addEventListener(MouseEvent.ROLL_OUT, out);
this.gotoAndStop(1);
}
function over(event:MouseEvent):void {
for (var j:int = 0; j < labels.length; j ) {
if (labels[j].name == "over") {
this.gotoAndPlay("over");
}
}
}
function out(event:MouseEvent):void {
for (var k:int = 0; k < labels.length; k ) {
if (labels[k].name == "out") {
this.gotoAndPlay("out");
}
}
}
function setParent(event:Event):void {
if (this.parent is ButtonSet) {
thisParent=this.parent;
for (var w:int=0; w < thisParent.buttons.length; w ) {
if (this == thisParent.buttons[w]) {
thisIndex=w;
}
}
}
}
function enableOthers():void {
for (var z:int=0; z < thisParent.buttons.length; z ) {
if (z != thisIndex) {
thisParent.buttons[z].enableButton();
}
}
}
}
}
載入了兩個常用類后,又載入了剛剛定義的ButtonSet類,這樣我們就能使用ButtonSet的一些方法了。
注意:這個類必須繼承Movieclip類,因為該類的對象是一個mc。
然后定義了一些全局變量(默認均為public)。
創建析構函數DisablingButton,labels = this.currentLabels; 這句話的意思是取得當前mc的label屬性,以array的形式返回,包含了label.frame,label.name等等的屬性。
然后監聽自己的鼠標點擊、移入、移出事件。
this.addEventListener(Event.ADDED,setParent);這句話的意思是當自己被添加進一個容器時調用setParent函數。
disableButton這個函數作用是,將當前mc的狀態變成disabled,然后取消監聽事件,同時激活其他的按鈕。
enableButton函數的作用就是激活自己的監聽事件,并初始化自己的狀態。
over和out函數很簡單,就是設置自己當前的狀態。
setParent函數的最終目的是捕獲點擊事件發生在哪個mc上(gotoAndPlay方法將觸發EVENT.ADDED,所以over和out函數都將觸發setParent函數,這也是一個待改進的地方)。
enableOthers函數顧名思義,激活其他的按鈕。因為setParent已經記住了,最后的點擊事件發生在哪個mc上,所以只要遍歷一下buttons,然后激活其他的mc就可以了。
案例分析完畢。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
国产激情自拍_国产9色视频_丁香花在线电影小说观看 _久久久久国产精品嫩草影院
日本黄色免费网址| av日韩在线免费| 亚洲第一成人在线视频| 国产aa视频| 四虎免费播放| 欧美性猛交p30| 黄色片视频在线观看| 国产主播福利在线| 国产国语**毛片高清视频| 精品麻豆一区二区三区| 日本a级黄色| 亚洲大香人伊一本线| 九九热视频精品在线观看| 国产美女自拍视频| 国产黄色大片在线观看| 青娱乐在线视频观看| 国产精品自拍亚洲| 精品美女调教视频| 久久一本精品| 精品a在线观看| 超碰在线97国产| 国产激情99| 精品中文字幕不卡在线视频| 国产叼嘿网站免费观看不用充会员| 日本片在线看| 91精品大全| 国产毛片毛片| 亚洲男人网站| 伊人网在线免费观看| 国产亚洲精品拍拍拍拍拍| www操操操| 四虎国产精品永久| 2018中文字幕在线观看| 天天av天天爱| 福利在线国产| 日本在线视频www鲁啊鲁| 国产精品日日爱| 最新中文字幕在线| 国产免费福利| 最新天堂资源在线| 天堂在线中文| 九九色在线观看| 麻豆精品不卡国产免费看| japanese色国产在线看视频| 精品视频vs精品视频| 91社区在线观看| 国产激情自拍视频| 国产精品视频白浆合集| 国产一级网站视频在线| 久久99精品久久久久久野外| 99热免费在线观看| 69久久精品| 精品欧美日韩一区二区| 91在线最新| 四虎影视成人永久免费观看视频| 亚洲网站视频在线观看| 国产福利片在线| 在线观看av资源网| 欧美日韩亚洲第一页| 免费看的毛片| 国产色在线观看| 精品国产二区三区| а√资源新版在线天堂| 九九久久久2| 国产激情视频网址| 青青草视频免费在线观看| 国产中文字幕av| 国产特级嫩嫩嫩bbb| 亚洲欧美自拍另类| 国产在线你懂得| 精品国语对白精品自拍视| 中文乱码字幕高清在线观看| 欧洲有码在线视频| 国产小黄视频| 秋霞av在线| 国产成人综合亚洲欧美在| 青青青青在线| 中文在线有码| 国产性网软件大全| 超碰国产在线| 69免费视频| 尤物免费看在线视频| 在线亚洲不卡| 国产二级c片l毛片| 国产偷窥洗澡视频| 天天av天天爽| free性亚洲| av免费在线一区二区三区| 最近中文字幕mv2018在线高清 | 99reav| 国产美女被草| 日本高清不卡中文字幕| 51成人精品网站| 国产三级自拍| 国产精品国精产品一二| 最新中文字幕在线| 国产原创av在线| 午夜性爽视频男人的天堂| 精品日韩av| av福利在线| 亚洲电影视频在线| 精品99又大又爽又硬少妇毛片| 国产成人福利| 国产精品秘入口| 91涩漫在线观看c| 精品久久久久一区二区三区| 国产三级视频| 国产精品一区二区婷婷| 高清在线观看av| √天堂8资源中文在线| 久久精品国产麻豆| 中文字幕亚洲免费| 国产字幕在线看| 国产一区精品| 伊人国产在线看一| 欧美韩日国产| 国产网站免费观看| 精品福利影院| 欧美卡一卡二| √天堂8资源中文在线| 国产aa视频| 九九视频精品在线| 国产激情小视频在线| 亚洲高清在线免费| 国内外激情在线| 国产福利在线视频| 天天插天天干| 在线91av| 亚洲精品午夜级久久久久| 国产在线观看18| 99在线播放| 国产一区二区三区不卡在线| 91午夜在线| 国产精品亚洲色图| 在线免费观看黄色片| 中文字幕在线观看av| 制服丝袜中文字幕在线观看| 国产美女福利在线观看| 91在线中文| 国产精品免费视频一区一| 激情网站在线| 香蕉视频网站在线播放| 国产毛片在线看| 蜜桃av网站| 在线观看电影av| 国产精品久久人| 国产精品探花在线| 日本免费一二区| 99久热re在线精彩视频| 国产网友自拍电影在线| 国产免费av高清在线| 国产中文第一页| 二区三区中文字幕| 九九热在线视频观看| 男人天堂v视频| 欧美午夜电影一区二区三区| 在线观看av资源网| 91在线网站| 91久久精品国产性色| 国产福利小视频在线| 国产9色视频| 制服丝袜中文字幕在线观看| 在线中文免费视频| 亚洲激情丁香| 麻豆网站在线| 国产农村一级特黄α**毛片| 超碰在线中文| 国产一区在线视频观看| 国产中文字幕第一页| 黄色av网站在线免费观看| 国产你懂的在线观看| 天天操夜夜操天天射| 狠狠狠狠狠狠操| 黄色毛片在线| 国产福利小视频在线| 亚洲欧美国产另类首页| 青青艹在线视频| 国产在线一区二区视频| 午夜免费视频在线国产| 国产精品久久久久永久免费看| 92久久精品| 精品孕妇一区二区三区| 五月婷婷导航| 国产高清免费在线播放| 亚洲综合在线不卡| 狠狠干天天爱| 精品无吗乱吗av国产爱色| 在线观看的av网站| 二区中文字幕| 中文字幕av高清| 麻豆av在线| 精品176二区| 中文字幕第一页av| 在线视频1区2区| 国产一区二区三区福利| 三级小说一区| 国产福利av网站| 天堂亚洲精品| 欧美日韩在线中文字幕| 夜夜操com|