剛剛寫了個元件左右拖動demo,記錄一下,以便後續檢視。是通過startDrag()這個方法來進行元件拖動的。
通常預設直接使用mc.startDrag()方法來進行拖動。
以下為adobe官方的api:
<a href="http://help.adobe.com/zh_CN/FlashPlatform/reference/actionscript/3/flash/display/Sprite.html#startDrag()" target="_blank">()</a>
方法
<code></code>
語言版本:
ActionScript 3.0
運作時版本:
Flash Player 9, AIR 1.0, Flash Lite 4
允許使用者拖動指定的 Sprite。Sprite 将一直保持可拖動,直到通過調用 <code>Sprite.stopDrag()</code> 方法來明确停止,或直到将另一個 Sprite 變為可拖動為止。在同一時間隻有一個 Sprite 是可拖動的。
三維顯示對象跟随指針,<code>Sprite.startDrag()</code> 将在由顯示對象定義的三維平面中移動對象。或者,如果顯示對象為二維對象和三維對象的子對象,則二維對象将在由三維父對象定義的三維平面中移動。
參數
<a href="http://help.adobe.com/zh_CN/FlashPlatform/reference/actionscript/3/flash/display/Sprite.html#startDrag()"></a>
具體步驟:
1、通常flash cs5建立一個fla
2、建立元件,取名為RectMc,添加一個1100*400的矩形。
<a target="_blank" href="http://blog.51cto.com/attachment/201306/111814467.jpg"></a>
3、回到場景,将剛剛建立的元件拖動到場景中,執行個體名為“mc”
<a target="_blank" href="http://blog.51cto.com/attachment/201306/112103975.jpg"></a>
4、在第一幀右擊添加動作,或按“F9”進入as3代碼編寫。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<code>import</code> <code>flash.events.MouseEvent;</code>
<code>import</code> <code>flash.geom.Rectangle;</code>
<code>//注冊滑鼠按下事件</code>
<code>mc.addEventListener(MouseEvent.MOUSE_DOWN,mouseDown);</code>
<code>//注冊滑鼠松開事件</code>
<code>mc.addEventListener(MouseEvent.MOUSE_UP,mouseUp);</code>
<code>//建立矩形,參數:1,2表示x,y軸坐标,3,4表示寬度,和高度。</code>
<code>var</code> <code>rect:Rectangle = </code><code>new</code> <code>Rectangle(-</code><code>550</code><code>,mc.y,</code><code>550</code><code>,</code><code>0</code><code>);</code>
<code>function</code> <code>mouseDown(e:MouseEvent):</code><code>void</code>
<code>{</code>
<code> </code><code>//添加拖動,</code>
<code> </code><code>//false表示跟随滑鼠移動,rect表示可以移動的範圍,即x軸方向移動</code>
<code> </code><code>mc.startDrag(</code><code>false</code><code>,rect);</code>
<code> </code>
<code>}</code>
<code>function</code> <code>mouseUp(e:MouseEvent):</code><code>void</code>
<code> </code><code>mc.stopDrag();</code>
以上就完成了元件左右拖動。
本文轉自xuzw13 51CTO部落格,原文連結:http://blog.51cto.com/xuzhiwei/1219497,如需轉載請自行聯系原作者