2015-10-14 32 views
0

我有一個排序遊戲,有10個元素以正確的順序拖放。Stage.addchild將物體帶到前面

當我開始拖動一個物體時,我希望它出現在所有其他物體的前面。由於createjs沒有zindex屬性,我被告知用stage.adchild(sequenceNumbers)將該項目讀到舞臺上;

如何正確地將此添加到mousedown或pressmove功能?

for (var a = 0; a < gameData.Terms.length; a++) { 
    rect = new createjs.Shape(); 
    rect.graphics.beginFill("blue").drawRoundRect(0, 0, 350, 30, 8); 
    rect.name = a; 

    var name = new createjs.Text(gameData.Terms[a].Definition, "14pt arial bold", "white"); 
    name.id = gameData.Terms[a].Name; 
    name.textAlign = "left"; 
    name.y = rect.y + 2; 
    name.x = rect.x + 4; 

    var sequenceNumbers = new createjs.Container(); 

    sequenceNumbers.landingSpot = landingSpots[a]; 
    landingSpots[a].sequenceNumber = sequenceNumbers; 

    sequenceNumbers.addChild(rect, name); 
    stage.addChild(sequenceNumbers); 
    sequenceNumbers.x = 300; 
    sequenceNumbers.y = xOffset; 
    xOffset += 40; 

    var startPositionX; 
    var startPostitionY; 
    sequenceNumbers.on('mousedown', function (e) { 
    stage.adchild(sequenceNumbers); 

    var posX = e.stageX; 
    var posY = e.stageY; 
    startPositionX = e.stageX; 
    startPositionY = e.stageY; 
    this.offset = { x: this.x - posX, y: this.y - posY }; 
    }); 

    sequenceNumbers.on("pressmove", function (evt) { 
    evt.currentTarget.x = evt.stageX; 
    evt.currentTarget.y = evt.stageY; 
    var posX = evt.stageX; 
    var posY = evt.stageY; 
    this.x = posX + this.offset.x; 
    this.y = posY + this.offset.y; 

    stage.update(); 
    }); 

    sequenceNumbers.on("pressup", function (evt) { 
    var stuffUnderMouse = landingSpotContainer.getObjectsUnderPoint(evt.rawX, evt.rawY, 0); 
    var oldSpot = evt.currentTarget.landingSpot; 
    var spotToMoveTo = null; 
    for (var i = 0; i < stuffUnderMouse.length; ++i) { 
     if (typeof stuffUnderMouse[i].landingSpot !== 'undefined' && stuffUnderMouse[i].landingSpot != oldSpot) { 
     spotToMoveTo = stuffUnderMouse[i].landingSpot; 
     break; 
     } 
    } 
    } 
+0

我一直在迴應http://stackoverflow.com/questions/33109223/adjusting-zindex-with-createjs/33109263#33109263 - 請參閱我的最新評論。請注意,重新發布很難提供幫助。 – Lanny

回答

1

只需再次添加孩子其父容器:

evt.currentTarget.parent.addChild(evt.currentTarget); 

應該做的鼠標事件函數內的伎倆。

注意該函數被稱爲addChild而不是adchild。