我試圖拖放整個SkinnableContainer-對象跨我一個非常奇怪的問題來flex-拖放
的下降只在少數地方 - 發生在其他地方,它只是顯示「X」標誌並在那裏下降,恢復到原來的位置。我已經使用了非常標準的命令...從函數2到函數3,這個調用很少發生在跟蹤語句中 - 對於爲什麼會發生這種情況的任何指導?
添加以下代碼來SkinnableContainer:dragEnter="dragEnterHandler(event);" dragDrop="dragDropHandler(event);
(1):
private function mouseMoveHandler(event:MouseEvent):void
{
var dragInitiator:Image = Image(event.currentTarget);
var ds:DragSource = new DragSource();
ds.addData(dragInitiator,"img"); //made change here
DragManager.doDrag(dragInitiator, ds, event);
}
(2):
private function dragEnterHandler(event:DragEvent):void {
if (event.dragSource.hasFormat("img"))
{
trace("came here"); //comes here for each mouse move
DragManager.acceptDragDrop(SkinnableContainer(event.currentTarget));
}
(3):
private function dragDropHandler(event:DragEvent):void {
trace("in drag drop handler"); //doesn't come here for most places
您沒有顯示有關拖動開始位置的代碼。 – 2011-04-14 19:32:29
問題到底是什麼?所有我從你發佈的內容中得到的是你想知道的是爲什麼2個函數只被稱爲「非常罕見」 – 2011-04-14 20:50:55
我知道我的問題很糟糕 - 想不到更好的方式來構建不一致的行爲......反正Merv在錢上是對的 – RG1967 2011-04-15 18:51:46