Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Bom dia,
estou desenvolvendo um joguinho onde preciso trocar alguns objetos de lugar com outros objetos. Esses objetos são 20 carrinhos que os usuário poderão colorir e trocar de lugar. Assim, o usuário pode querer colorir o carrinho 18 de azul e depois trocar ele de lugar com o carrinho de número 10, por exemplo.
O usuário tem algumas ferramentas, como o pincel para colorir e uma mao para trocar os objetos de lugar. Assim quando pegar a mao, ele poderá trocar os objetos de lugar.
Sobre colorir os carrinhos não tenho problema, mas não estou conseguindo trocar eles de lugar.
O código que estou usando é o seguinte:
// mao é um movieclip que adiciono no palco via linkage
mao.addEventListener(MouseEvent.MOUSE_DOWN, _downMao);
// variavel que verifica se o mouse está livre de qualquer ferramenta, como o pincel ou a mao
var flag:Boolean = false;
// variavel que recebe o movieclip que a mao esta transportando
var pegou:MovieClip = null;
function _downMao(e:MouseEvent):void {
if (flag == false) {
stage.addEventListener(MouseEvent.MOUSE_MOVE, moveMao);
flag = true;
} else {
// carros é um array com todos os carros do palco
for (i = 0; i < carros.length; i++) {
if (carros[i].hitTestPoint(mouseX, mouseY)) {
if (e.target.drag == false) {
trace("1");
carros[i].startDrag(false);
pegou = carros[i];
e.target.drag = true;
} else if (pegou != null) {
trace("2");
pegou.stopDrag();
pegou.x = carros[i].x;
pegou.y = carros[i].y;
carros[i].startDrag(false);
trace(carros[i].name);
pegou.drag = false;
pegou = carros[i];
}
return;
}
}
}
}
function moveMao(e:MouseEvent):void {
mao.x = mouseX;
mao.y = mouseY;
}
Alguém tem alguma idéia?
Continuarei tentando aqui.
Carregando comentários...