影片剪輯的位置幾種方法

來源:互聯網
上載者:User

首先要明確下,舞台也是一個movieClip,

他的座標原點在左上方(0,0)

其他的影片剪輯座標是註冊點在舞台的位置,

(註冊點:就是剪輯內部的十字元號)

 

本文主要講解嵌套影片剪輯的座標,

當一個mc(影片剪輯)名為:b_mc,在另一個名為a_mc的剪輯中,

b_mc在a_mc內部,b_mc的座標是 根據自身的_x _y和父剪輯a_mc的座標決定的。

所有子影片剪輯的_x _y數值,永遠都是本地位置,不會隨著父剪輯的移動而改變。

 

解決的方法:

1:計算父剪輯的在全域位置的及子影片剪輯的本地位置

     如舞台裡有a,a裡面有b

     擷取b的座標:    

1 trace(a._x+a.b._x)

2:localToGlobal()

 

1 var op0:Object=new Object()//建立一個點對象
2 op0.x=a.b._x//注意op0.x 不是_x
3 op0.y=a.b._y//注意op0.y 不是_y
4 //點對象必須好友x y兩個屬性,必不可少
5 a.localToGlobal(op0)
6 trace(op0.x+"  b");

 

綜合的例子:

1:在舞台上 畫一個 100*70的藍色矩形,選中,按F8轉為mc

2:對該剪輯的執行個體名稱:a

3:在a中繪製一個60*40的粉色矩形,選中,按F8轉為mc

4:對該剪輯的執行個體名稱:b

5:在b中繪製一個40*30的黃色色矩形,選中,按F8轉為mc

6:對該剪輯的執行個體名稱:c

在主時間軸上建立一個層,名為as

輸入代碼:

 

 1stop();
 2a.onPress = function() {
 3    this.startDrag();
 4};
 5a.onRelease = function() {
 6    this.stopDrag()
 7    //----------------------------第一個點對象 記錄b的座標
 8    var op0:Object=new Object()
 9    op0.x=this.b._x
10    op0.y=this.b._y
11    this.localToGlobal(op0)
12    trace(op0.x+"  b");
13    //----------------------------第二個點對象 記錄c的座標
14    var op1:Object=new Object()
15    op1.x=this.b.c._x
16    op1.y=this.b.c._y
17    this.b.localToGlobal(op1)
18    trace(op1.x+"  c");
19};
20

 

源檔案下載

naiking的flash技術部落格歡迎你

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.