如何只水平拖动符号?

Jus*_*Til 1 flash actionscript-3 flash-cs6

我目前正在尝试制作一个非常简单的拖放Flash程序.我做了一个程序,你可以用鼠标拖动一个方块.

但是我希望广场只能水平移动.我一直试图在互联网上找到一些东西,但没有找到解决方案.所以我想也许你们可以帮助我......

这就是我所做的:

我首先制作了一个正方形,并将其命名为:"blok"

然后我在同一场景中编写了以下代码:

var myblock:Sprite = blok;

this.addChild(myblock);
myblock.addEventListener(MouseEvent.MOUSE_DOWN, startMove);

function startMove(evt:MouseEvent):void 
{
myblock.startDrag();
}

myblock.addEventListener(MouseEvent.MOUSE_UP, stopMove);

function stopMove(e:MouseEvent):void 
{
myblock.stopDrag();
}
Run Code Online (Sandbox Code Playgroud)

mfa*_*mfa 6

startDrag采用边界框参数.试试这个:

function startMove(evt:MouseEvent):void 
{
  myblock.startDrag(false, new Rectangle(0, myblock.y, 1000, myblock.y));
}
Run Code Online (Sandbox Code Playgroud)

0和1000是最小值和最大值x,代替您在应用程序中需要使用的任何值.

Sprite类的Adobe文档