AS3.0中关于鼠标点击拖动页面中任一对象的问题,请进!

uranovo 2007-06-29 03:54:05
本人的设想是,在页面上有三个按钮,一个用来响应鼠标在页面上划线,一个用来添加图片,一个用用来添加文本框,在我随机的执行几个操作后,在页面上画了几条线,添加了两个图片,和两个文本框,现在我如何实现用鼠标点击来拖动页面上任一对象?还有,如何来实现拖拽使对象增大或缩短,变长变短?
我现在的做法只能在页面上生成这些对象,而且能拖动的只有图片和文本框,但是只能拖动最后一次生成的对象,先生成的对象不响应鼠标点击。
请高手指点! 谢谢!

另外,划线是通过移动鼠标来划线的,不是先设置好坐标的.环境是:flex2.0,AS3.0
...全文
1024 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
haozi 2010-08-20
  • 打赏
  • 举报
回复
学习 下
uranovo 2007-07-18
  • 打赏
  • 举报
回复
谢谢你的回答,不过,关于形状的变化还是不太满意,请关注。
uranovo 2007-07-02
  • 打赏
  • 举报
回复
我的监听和生成对象如下:
private function clickHandler3(e:TextEvent):void {
textArea = new createText();
rect.addChild(textArea); textArea.addEventListener(MouseEvent.MOUSE_DOWN,startDragText);
}

private function startDragText(evt:MouseEvent):void {
textArea.addEventListener(MouseEvent.MOUSE_UP,stopDragText);
textArea.startDrag();
}

private function stopDragText(evt:MouseEvent):void {
textArea.removeEventListener(MouseEvent.MOUSE_UP,stopDragText);
textArea.stopDrag();
}
uranovo 2007-07-02
  • 打赏
  • 举报
回复
BlueGhostFire(幽灵火),你好,
你说的对,是addEventListener上的问题,是被覆盖了,我是刚开始用actionScript,了解的不够,我在生成对象的时候,发现在2.0那个版本可以用
this.createEmptyMovieClip("container", this.getNextHighestDepth())来动态生成对象,然后利用“container”+ iCount,这个模式就可以构造不同的对象,但是在3.0中,这个方法好像被取消了,我不知道如何构造不同的对象来避免被覆盖,请给各简短的例子。
还有就是那个对象增大或缩短,变长变短,请问是那些属性,比如说线的宽度变宽的话,是那个属性呢,我的是是代码绘的,还有,就是关于鼠标点击激活对象的问题,特别是划出的线,首先,这个线是监听鼠标的坐标值画出的,然后还要再监听鼠标的点击,来确定是要对哪个对象进行操作,麻烦指点一下,谢了!
BlueGhostFire 2007-07-02
  • 打赏
  • 举报
回复
1:
evt:MouseEvent
好好利用它!

evt.target 可以返回你点击的对象.

不要用函数外的 textArea 这个变量.
你那样写.并不是覆盖了事件.
而是所有事件只对 textArea 这个变量的引用对象有用.

2:
flash.display.Graphics.lineStyle() 画线时的属性
Sprite的属性和 2.0里MC的差不多.就是去了下划线.

3:
可以考虑在对像的右下角绘一个小的透明的Sprite.用于你拖拽的热点.办法应该还有很多.
这个是在你的大Sprite里的一个小Sprite.
那么,小Sprite的点击事件里的
e:MouseEvent
e.target.parent 就是你这个大Sprite了.


相信你是 e:MouseEvent 这个地方没明白.让你编码带来了麻烦.
BlueGhostFire 2007-07-01
  • 打赏
  • 举报
回复
但是只能拖动最后一次生成的对象,先生成的对象不响应鼠标点击。

一定是你代码上面的问题了.
可能是你 addEventListener 上面的问题.
是不是生成的对象把之前对象的addEventListener给覆盖了.

如何来实现拖拽使对象增大或缩短,变长变短?

如果是代码绘的可以重绘一下.也可以用它的个个属性来对象增大或缩短,变长变短
可以考虑在对像的右下角绘一个小的透明的Sprite.用于你拖拽的热点.办法应该还有很多.

2,275

社区成员

发帖
与我相关
我的任务
社区描述
多媒体/设计/Flash/Silverlight 开发 Flash流媒体开发
社区管理员
  • Flash流媒体开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧