我正在创建一个基于 Flash 的应用程序,用户可以在其中使用鼠标拖动来更改矩形的形状、宽度和高度。这是一个快速的原型图像。
让我简单解释一下:在您可以看到的图像中,我有一个很小的红色矩形,现在坐着的是起始位置,用户只能将其拖动到右侧 100 像素。这个想法是,当用户将其向右拖动时,我想矩形也扩展右侧,就像一个灵活的盒子。如果他向后拖,那么它会随之返回。
所以,问题是:如何检查,用户是在拖动右侧还是左侧。所以基于此我们可以更新矩形宽度。
这是代码:
import flash.geom.Rectangle;
import flash.events.MouseEvent;
var horizRect:Rectangle = new Rectangle(scrollPathHoriz.x, scrollPathHoriz.y, 100, 0);
var horizCount:Number;
//event listener for the anchor point.
scrollHoriz.addEventListener(MouseEvent.MOUSE_DOWN, dragScroller);
stage.addEventListener(MouseEvent.MOUSE_UP, dropScroller);
//mouse down and mouse up event handler.
function dragScroller(evt:MouseEvent):void {
horizCount= scrollHoriz.x;
scrollHoriz.startDrag(false, horizRect);
scrollHoriz.addEventListener(MouseEvent.MOUSE_MOVE, calculateHorizPixel);
}
function dropScroller(evt:MouseEvent):void {
scrollHoriz.stopDrag();
scrollHoriz.removeEventListener(MouseEvent.MOUSE_MOVE, calculateHorizPixel);
}
function calculateHorizPixel(evt:MouseEvent):void {
horizCount ++;
trace(horizCount);
}