5-1 實體主從關係

Flash中一個實體包含很多實體,尤其影片片段最明顯,甲影片片段包含乙影片片段和丙按鈕,而乙影片片段又包含丁影片片段,它們的關係圖如下所示:

 

 

 

 

 

 

 


上面圖形中,在本書裡稱甲影片片段為乙影片片段的父影片片段(上層影片片段),乙影片片段為甲影片片段的子影片片段(下層影片片段)。但是乙影片片段同時為丁影片片段的父影片片段(上層影片片段)。有關父子或主從關係的實體所用到的屬性如下:

 

屬性

說明

_root

指場景的最上層。

_parent

參照影片片段的父輩(父影片片段)

this

參照物體或影片片段本身。

 

 


 如何呼叫父影片片段或子影片片段。

1. 執行【ch05/_root & _parent & this.swf

 

 

 

 

 

 

 

 

 

 


2. 滑鼠移到『_parent』按鈕,最左邊小熊會詢問“找我嗎?”

 

 

 

 

 

 

 

 

 

 


3. 滑鼠移到『this』按鈕,中間小熊會詢問“找我嗎?”

4. 滑鼠移到『_root』按鈕,最右邊小熊會詢問“找我嗎?”

一、        載入【ch05/_root & _parent & this.fla】檔案。

1. 元件庫

 

 

 

 

 

 

 

2. 『小熊1』影片片段

 

 

 

 

 

 

 

 

 

 

 


3. 『小熊2』影片片段

 

 

 

 

 

 

 

 

 

 

 


4. 『小熊3』影片片段

 

 

 

 

 

 

 

 

 

 


二、在影片舞台上各實體的關係

 

 

 

 

 

 

 

 

 

三、主場景、影片片段與按鈕

主場景

有【說明】、【小熊1】、【底色】等三個圖層,每個圖層有1個影格。

【小熊1】圖層:放置『小熊1』影片片段。

『小熊1』影片片段

有【標籤】、【action】、【講話】、【主角1】、【小熊2】、【底色】等六個

圖層,每個圖層有2個影格。

【標籤】圖層:

影格1 無標籤名稱。

影格2:「講話」。

action】圖層:

影格1stop();

【主角1】圖層:放置最左邊小熊圖。

【講話】圖層:

影格2:「講話」。

在【主角1】圖層中,最左邊小熊右上角有“找我嗎?”文字。

【小熊2】圖層:放置『小熊2』影片片段。

『小熊2』影片片段

有【標籤】、【action】、【講話】、【主角1】、【小熊3】、【圓柱按鈕】、【底

色】等七個圖層,每個圖層有2個影格。

【標籤】圖層:

影格1 無標籤名稱。

影格2:「講話」。

action】圖層:

影格1stop();

【主角2】圖層:放置中間小熊圖。

【講話】圖層:

影格2:「講話」。

在【主角2】圖層中,中間小熊右上角有“找我嗎?”文字。

【小熊3】圖層:放置『小熊3』影片片段。

【圓柱按鈕】圖層:放置3個按鈕:

 parent_btn』、『this_btn』、『root_btn

『小熊3』影片片段

有【標籤】、【action】、【講話】、【主角3】等四個圖層,每個圖層有2

個影格。

【標籤】圖層:

影格1 無標籤名稱。

影格2:「講話」。

action】圖層:

影格1stop();

【主角3】圖層:放置最右邊小熊圖。

【講話】圖層:

影格2:「講話」。

在【主角3】圖層中,最右邊小熊右上角有“找我嗎?”文字。

『小熊2』影片片段的【圓柱按鈕】圖層:放置3個按鈕:

parent_btn』、『this_btn』、『root_btn』都是使用元件庫的『青圓柱_

按鈕』元件

四、按鈕程式碼

1. parent_btn』按鈕,控制最左邊小熊(bear1_mc),滑鼠移到此按鈕上,最左邊小熊會顯示“找我嗎?”,滑鼠離開按鈕,文字消失。

01

02

03

04

05

06

07

08

on (rollOver) {

_parent.gotoAndStop("講話");

//    _root.bear1_mc.gotoAndStop("講話");   

}

on (rollOut) {

_parent.gotoAndStop(1);

//    _root.bear1_mc.gotoAndStop(1);

}

解說:

02:最左邊小熊(bear1_mc)在上一層,顯示“找我嗎?”。

03:功能與行02相同。最左邊小熊(bear1_mc)在第一層(_root)下。

06:不顯示“找我嗎?”。

2. this_btn』按鈕,按制中間小熊(bear2_mc)說話。

01

02

03

04

05

06

07

08

09

10

11

12

on (rollOver) {

         this.gotoAndStop("講話"); 

//       gotoAndStop("講話"); 

//      _parent.bear2_mc.gotoAndStop("講話"); 

//      _root.bear1_mc.bear2_mc.gotoAndStop("講話");

}

on (rollOut) {

           this.gotoAndStop(1);

//         gotoAndStop(1); 

//        _parent.bear2_mc.gotoAndStop(1);

//        _root.bear1_mc.bear2_mc.gotoAndStop(1);

}

解說:

02:中間邊小熊(bear2_mc)在本層,顯示“找我嗎?”。

0305:功能與行02相同。中間小熊(bear2_mc)在(bear1_mc)下層。

08:不顯示“找我嗎?”。

3. root_btn』按鈕,控制最右邊小熊(bear3_mc)說話。

01

02

03

04

05

06

07

08

09

10

on (rollOver) {

        _root.bear1_mc.bear2_mc.bear3_mc.gotoAndStop("講話");

//      this.bear3_mc.gotoAndStop("講話");

//      bear3_mc.gotoAndStop("講話");

}

on (rollOut) {

       _root.bear1_mc.bear2_mc.bear3_mc.gotoAndStop(1);

//      this.bear3_mc.gotoAndStop(1);

//      bear3_mc.gotoAndStop(1);

}

解說:

02:最右邊小熊(bear3_mc)在下層,顯示“找我嗎?”。

0304:功能與行02相同。最右邊小熊(bear3_mc)在(bear2_mc)下層。

07:不顯示“找我嗎?”。