2013-03-05 39 views
0

我想創建一個開始拖動和停止拖動簡單的應用程序。但它似乎無法正常工作。它開始拖動,但它簡化版,掉落的物體的任何地方開始和停止拖動不能正常工作

addChild(shampooing); 
addChild(check_box); 
check_box.gotoAndStop(2); 
check_box.x = 40; 
check_box.y = 550; 

check_box.addEventListener(MouseEvent.MOUSE_DOWN, dragObject); 
check_box.addEventListener(MouseEvent.MOUSE_UP, stopDragObject); 
function dragObject(mn:MouseEvent):void 
{ 
    xPos = check_box.x; 
    yPos = check_box.y; 

    check_box.startDrag(true); 
} 
function stopDragObject(l:MouseEvent):void 
{ 
    if (check_box.hitTestObject(getChildByName("shampooing"))) 
    { 
     check_box.x = getChildByName("shampooing").x; 
     check_box.y = getChildByName("shampooing").y; 
    } 
    else 
    { 
     check_box.x = xPos; 
     check_box.y = yPos; 
    } 

    check_box.stopDrag(); 
} 

回答

2

除非你明確地設置您的shampooing對象的name屬性爲「洗頭」,那麼getChildByName("shampooing")將拋出一個錯誤。既然你已經有了shampooing一個參考,你可以更改您的代碼:

if (check_box.hitTestObject(shampooing)) 
{ 
    check_box.x = shampooing.x; 
    check_box.y = shampooing.y; 
} 
+0

THX用它做了一些修正更多沿着這奏效了偉大!!!! – tailedmouse 2013-03-05 03:27:21