252009
 

在ActionScript中,使用startDrag()是无法同时拖动多个显示对象的。

解决方案如下:

假设有两个Sprite需要拖动,设为A,B。

方案一:新建一个Sprite C,将A和B addChild()到C中,然后对C进行拖动。拖动完毕后在removeChild()回去。

方案二:对A注册MouseEvent.MOUSE_MOVE事件,计算A和B的x,y的相对距离,在MouseEvent.MOUSE_MOVE的事件处理方法中进行相对位移。
请记住在事件处理方法中执行MouseEvent对象的updateAfterEvent()方法。避免迟疑。

方案三:使用MouseEvent.MOUSE_MOVE创建自定义的拖动方法。

 Posted by at 10:27 上午

  3 Responses to “使用startDrag()同时拖动两个显示对象的问题及解决方法”

  1. 启动timer 去除 MOVE事件 可以尝试下 ,效果会不错

  2. @KingFo:难得您有空来逛逛哈:)

  3. 522985 430540I appreciate your function , thanks for all of the informative weblog posts. 353333

 Leave a Reply

(required)

(required)

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>