risolto di nuovo... giuro che da ora in poi asp almeno mezza giornata prima di postare dei probl.... se ha qual può interessare cmq ecco il codice completo
questo è associato ad un mc (a caso) sullo stage
codice:
onClipEvent (mouseDown) {
// prendo la posizione del mouse
my_x = _root._xmouse;
my_y = _root._ymouse;
/*trace("prelevo"+startPieceX);
trace("prelevo"+startPieceY);*/
// ciclo tra i pezzi cercando l'hit
for (x=0; x<6; x++) {
for (y=0; y<4; y++) {
piece = _root["my_"+x+"_"+y];
//cerco controllo se c'è un pezzo sotto il cursore e se non è gia stato posizionato
if (piece.hitTest(my_x, my_y) && (piece._alpha<100)) {
// inizio il drag
piece.startDrag();
startPieceX = piece._x;
startPieceY = piece._y;
/*trace("prelevo"+startPieceX);
trace("prelevo"+startPieceY);
trace(piece);*/
// uscita dal ciclo
x = 6;
y = 4;
break;
}
}
}
}
onClipEvent (mouseUp) {
// stop drag
stopDrag();
// calcolo la distanza del centro del pezzo dal centro dell'arrivo
dx = _root.arrivo._x-piece._x;
dy = _root.arrivo._y-piece._y;
dist = Math.sqrt(dx*dx+dy*dy);
// se abbastanza vicino lo posiziono correttamente
if (dist<50) {
piece._x = _root.arrivo._x;
piece._y = _root.arrivo._y;
// rimettendo l'alpha a 100 blocco il pezzo
piece._alpha = 100;
_root.countObj++;
trace(_root.countObj);
} else {//se non è abbastanza vicino alla posizione lo rimetto al posto di partenza
piece._x = startPieceX;
piece._y = startPieceY;
/*trace("appoggio"+startPieceX);
*/
}
if (_root.countObj == 5) {
_root.gotoAndPlay("nextGame");
clearInterval(_root.timer);
}
}
questo invece è sulla root dove istanzio le variabili e il counter del tempo
codice:
stop();
var countScore:Number = 0;
var errorScore:Number = 0;
var countQ:Number = 1;
var displayTime:Number = 30;
var countObj:Number = 0;
countDown = function (message) {
displayTime--;
if (displayTime == 0) {
clearInterval(timer);
//my_yes.start();
gotoAndPlay("notime");
//scores.nextFrame();
} else if (countObj == 5) {
clearInterval(timer);
remainingTime = 20-displayTime;
_global.result1 = countScore;
_global.time1 = remainingTime;
}
};
timer = setInterval(countDown, 1000);