AVM1(ActionScript 1/2) 的拖放功能在 AVM2(ActionScript 3/Flex) 中不起作用
我有一个使用 ActionScript 2 开发的应用程序,它具有拖/放活动。效果很好。我使用以下方法来测试删除
dropObject.hitTest(_root._xmouse, _root._ymouse, true) //if true, drop currently dragging object
当我将此 SWF 放入我的 Flex 应用程序 SWFLoader 容器中时,会出现问题。在这种情况下,拖动根本不起作用。
有什么想法吗?
I have a application developed in ActionScript 2 which has dragging/dropping activity. which works fine. I used following to test dropping
dropObject.hitTest(_root._xmouse, _root._ymouse, true) //if true, drop currently dragging object
Problem occurs when I put this SWF in my Flex application SWFLoader container. dragging dosen't work at all in this case.
any ideas guys?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
AVM1Movie 对象和 AVM2 对象之间不允许有互操作性(例如调用方法或使用参数)。
摘自:
http://www.adobe.com/livedocs/flash/9.0/ActionScriptLangRefV3/< /a>
no interoperability (such as calling methods or using parameters) between the AVM1Movie object and AVM2 objects is allowed.
taken from:
http://www.adobe.com/livedocs/flash/9.0/ActionScriptLangRefV3/
我终于弄清楚为什么它会发生(或没有发生!)
当我们将 AVM1 对象放入 AVM2 容器中时,AVM1 坐标系会发生变化。为了防止这种情况发生,请在 AVM1 的左上角放置一个虚拟精灵,并更改相对于该对象的拖放检查的所有逻辑,而不是使用 _root。
但其他 AVM2 模块的情况并非如此。它们可以独立工作,也可以在另一个容器中正常工作。
I finally figured out why it was happening(or not happening!)
When we put AVM1 object in AVM2 container, AVM1 coordinate system goes on a toss. TO prevent it, put a dummy sprite on top-left corner in AVM1 and change all logic of drag-drop checking with respect to that object, and not with _root.
This is not the case with others AVM2 modules though. They work fine standalone and within another container.