天天看点

flash as3鼠标左右拖动元件

   刚刚写了个元件左右拖动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,如需转载请自行联系原作者

继续阅读