我制作了一个矩形,一个矩形精灵和一个圆形精灵。矩形精灵具有与我的矩形完全相同的属性,并且我将我的圆定位在舞台的中心,这是这两个矩形的中间。我的startDrag矩形不是我设置的位置
在追踪矩形的值后,我可以放心地说矩形与矩形精灵一样。那么当然,如果我想拖动矩形周围的圆,它应该保持在它的范围内,对吧?
stop();
var isDragging:Boolean;
import flash.events.MouseEvent;
import flash.geom.Rectangle;
import flash.display.Sprite;
import flash.geom.Point;
var px:Number = boundingBox.x;
var py:Number = boundingBox.y;
var h:Number = boundingBox.height;
var w:Number = boundingBox.width;
var box:Rectangle = new Rectangle(px,py,w,h);
trace(box);
var blob:Sprite = new Sprite();
blob.graphics.beginFill(0x000000);
blob.graphics.lineStyle(1.2, 0xFFFFFF);
blob.graphics.drawCircle(stage.stageWidth/2, stage.stageHeight/2, 18);
blob.graphics.endFill();
addChild(blob);
var box2:Sprite = new Sprite();
box2.graphics.lineStyle(1, 0xFFCC00);
box2.graphics.drawRect(px,py,w,h);
addChild(box2);
blob.addEventListener(MouseEvent.MOUSE_DOWN, drag);
function drag(event:MouseEvent):void {
event.target.startDrag(false, box);
isDragging = true
}
那么这似乎并非如此。也许我只是一个noob,但我不知道发生了什么。 当我运行场景时,一切看起来都很正常。
橙色/虚线是两个矩形我提出,一种是我用于设置我在AS3(虚线)制成的矩形的属性的影片剪辑和橙色是AS3精灵。
圆圈处于舞台中间,它看起来完全像我想要编程的样子。
但是,只要我点击它,它就会在这里传送。
当我试图拖动它,它看来,如果框的左上角已经被翻译到该点一路下跌那里,它只是拖在右下象限各地这个舞台,甚至还在屏幕外进一步拖延。
我不确定是否将我放入startDrag函数的矩形与实际矩形扭曲。
我不知道为什么会发生这种情况,因为当我试图使用我添加到舞台上的影片剪辑来做到这一点时,一切正常。但只要我尝试以编程的方式来完成,一切都会顺利进行。
我很感激为什么这不起作用的一些帮助。谢谢阅读。