有人能告诉我如何用AS3实现选框效果选择效果,通过在它们周围画一个动态矩形然后将它们拖放到任何地方来选择多个动画片段吗?
答案 0 :(得分:2)
如果需要多个对象可拖动,请不要使用startDrag()
,因为它一次只能拖动一个对象。而是,侦听鼠标事件并手动移动:
var oldX:int;
var oldY:int;
var dragging:Boolean = false;
function onMouseDown(evt:MouseEvent):void {
dragging = true;
oldX = evt.stageX;
oldY = evt.stageY;
}
function onMouseMove(evt:MouseEvent):void {
if (!dragging) return;
var dX:int = evt.stageX - oldX;
var dY:int = evt.stageY - oldY;
for (int i = 0; i < selectedClips.length; i++) {
var clip:DisplayObject = selectedClips[i];
clip.x += dX;
clip.y += dY;
}
oldX = evt.stageX;
oldY = evt.stageY;
}
function onMouseUp(evt:MouseEvent):void {
dragging = false;
}
此代码假定:
selectedClips
。DisplayObject
。MOUSE_DOWN
,MOUSE_MOVE
和MOUSE_UP
鼠标事件。如果不满足这三个条件中的任何一个,请更新我的代码或代码以使其正常工作。此外,如果在删除对象时需要进行任何其他处理,可以使用鼠标按向处理程序添加自定义代码。