плъзнете и пуснете с помощта на Starling

Имам затруднения да се пускам и пускам на работа, като използвам потребителския интерфейс на Старлинг с пера.

Ето моят код:

function begin(){



        var quadx = squareSize/4 + squareSize/8;
        var quady = 20;
        var quadcounter = 0;

        for(var f=0;f<totalsquares;f++){    



        var sprite:Sprite = new Sprite();




    var quad:Quad = new Quad(squareSize, squareSize);
    sprite.name = "" + f;
    spriteunder.name = "" + f * 1000;
    quad.setVertexColor(0, 0x3683ed);
    quad.setVertexColor(1, 0x3683ed);
    quad.setVertexColor(2, 0x3683ed);
    quad.setVertexColor(3, 0x3683ed);


    sprite.x=quadx;
    sprite.y = quady;


    var lv3 = new TextField(squareSize, squareSize, f,"Corpid", 14,0xf1f1f1);


    sprite.touchable = true;
    quad.touchable = true;

    lv3.touchable = false;
        sprite.addChild(quad);
    sprite.addChild(lv3);   



    addChild(sprite);


    sprite.addEventListener(TouchEvent.TOUCH, touchHandler); 




    quadx = quadx + squareSize + 1;

    quadcounter++;


if(quadcounter == boardWidth){

    quadx =  squareSize/4 + squareSize/8;
    quady = quady + squareSize + 1;
    quadcounter = 0;
}

}



}


function touchHandler(e : TouchEvent) : void 
  {
   var touch:Touch = e.getTouch(stage);
   var position:Point = touch.getLocation(stage);
   var target:Quad = e.target as Quad;

   if(touch.phase == TouchPhase.MOVED ){
    target.x = position.x - target.width/2;
    target.y = position.y - target.height/2;
    }
  }

Проблемът е, че всеки път, когато стартирам това, QUAD детето се влачи наоколо, а не родителският спрайт.

Какво да променя, за да накарам това да се плъзга правилно.


person Charlie Smith    schedule 19.09.2013    source източник


Отговори (1)


Може би трябва да започнете с

var touch:Touch = event.getTouch(this, TouchPhase.BEGAN);
if (touch)
{
    //get and lock your target, maybe a trace of your actual target, just to be sure!
}

И след това във фазата ПРЕМЕСТЕН, всъщност го плъзнете.

person enguez    schedule 07.11.2013