2011-11-23 138 views
0

我在Flash Professional CS5项目和ActionScript 3NativeDragEvent不能正常工作?

我有,我可以在屏幕上拖动(tile1-tile5,并将其拖放到任意五个不同的地方(SLOT1-slot5)的各种对象。这工作没有问题半点。所有这些代码放在了tile1-tile5第一个关键帧。

不过,我需要使用NativeDragEvent.NATIVE_DRAG_ENTER和NativeDragEvent.NATIVE_DRAG_EXIT。我的代码如下。它被放置在此示例中,第一个关键帧为slot1。

slot1.addEventListener(NativeDragEvent.NATIVE_DRAG_OVER, slot1enter); 
slot1.addEventListener(NativeDragEvent.NATIVE_DRAG_EXIT, slot1exit); 

function slot1enter(evt:NativeDragEvent):void { 
    trace("Drag entered."); 
} 

function slot1exit(evt:NativeDragEvent):void{ 
    trace("Drag exit."); 
} 

这里发生了什么?我怎样才能使这个工作?

+0

它适用于我,所以它看起来像你将不得不详细说明一些。什么是插槽?他们在哪里定义?据推测,由于您在Flash Pro中工作,所以他们是MovieClip,但明确声明不会造成伤害。另外,你是否尝试过定义一个Slot类并在其中添加事件监听器?我的意思是,这就是你最终最终应该做的事情;尽管我并不是说这就是解决方案,因为它也应该能够解决您目前的问题。 – merv

+0

我可能只需要完全放弃这个方法,因为我意识到我需要这个工作来进出空气。叹。谢谢,寿。 – CodeMouse92

+0

太糟糕了。作为一个方面说明,** Flex **中的InteractiveObject的实现包含一个非AIR的DragEvent。当然,这意味着使用Flex SDK,这意味着额外的加载时间,为您的项目增加了复杂性等等。无论如何,只是抛出它作为另一种选择,即使它可能不是你会考虑如果你'已经很好地融入了一个项目。祝你好运。 – merv

回答

0

这里有一个混淆。我使用Flash中的内置startDrag拖动交互式元素。但是,NativeDragEnter和NativeDragExit仅适用于操作系统拖动,因此这是苹果和橘子。一个不会与另一个工作。

1

NativeDragEvent仅适用于AIR运行时。

确保您的Flash Pro发布针对AIR运行时。

+0

它已经是,谢谢。 – CodeMouse92