Перетаскивание AVM1(ActionScript 1/2) не работает в AVM2(ActionScript 3/Flex)
У меня есть приложение, разработанное в ActionScript 2, которое выполняет операции перетаскивания. который отлично работает Я использовал следующее, чтобы проверить падение
dropObject.hitTest(_root._xmouse, _root._ymouse, true) //if true, drop currently dragging object
Проблема возникает, когда я помещаю этот SWF-файл в контейнер SWFLoader приложения Flex. перетаскивание не работает вообще в этом случае.
есть идеи, ребята?
2 ответа
Я наконец понял, почему это происходит (или не происходит!)
Когда мы помещаем объект AVM1 в контейнер AVM2, система координат AVM1 начинает работать. Чтобы предотвратить это, поместите фиктивный спрайт в верхнем левом углу в AVM1 и измените всю логику проверки перетаскивания относительно этого объекта, а не с _root.
Это не относится к другим модулям AVM2. Они отлично работают автономно и в другом контейнере.
Никакая совместимость (например, вызов методов или использование параметров) между объектом AVM1Movie и объектами AVM2 не допускается.
взяты из: http://www.adobe.com/livedocs/flash/9.0/ActionScriptLangRefV3/