salve a tutti,
diciamo che ho quasi risolto, ora ho un problema con la posizione x e y in seguito a un if
ecco lo scenario:
il personaggio parte dal centro e deve spostarsi fino a raggiungere "computer", "fridge" e "telaio", ovviamente dopo il clic sui rispettivi oggetti
se clicco centro ---> computer ---> telaio tutto ok
se invece clicco centro ---> fridge ---> computer ---> telaio, il personaggio invece di partire da computer per raggiungere telaio, va a posizionarsi prima su fridge e poi si sposta su telaio
in pratica invece di restare su x=328 va su x=208 e poi si muove verso il telaio
ecco il codice di telaio
codice:
//SILKSCREEN
telaio.addEventListener( MouseEvent.CLICK, computer_telaio );
function computer_telaio(e:MouseEvent):void
{
if(elda_sits_computer.visible==true && elda_still_left.visible==false) {
elda_still_right.x=328;
elda_still_right.y=410;
elda_still_right.visible=true;
elda_sits_computer.visible=false;
eldona_walking_right.visible=false;
elda_still_left.visible=false;
Tweener.addTween(elda_still_right, {time: 2, onComplete: goto_screen });
}
if (elda_still_left.x==208 && elda_sits_computer.visible==false) {
elda_still_right.x=208;
elda_still_right.y=454;
elda_still_left.visible=false;
elda_still_right.visible=true;
telaio.mouseEnabled = false;
Tweener.addTween(elda_still_right, {time: 2, onComplete: goto_screen});
}
forse il fatto è che il codice che sposta da fridge a computer ha lo stesso if?
questo è il codice
codice:
//COMPUTER
computer.addEventListener( MouseEvent.CLICK, telaio_computer );
function telaio_computer(e:MouseEvent):void
{
if(elda_screenprinting.visible==true) {
elda_still_left.x=829;
elda_still_left.y=410;
elda_still_left.visible=true;
elda_sits_computer.visible=false;
eldona_walking_back.visible=false;
elda_screenprinting.visible=false;
telaio_up2.visible=true;
telaio.mouseEnabled = false;
Tweener.addTween(elda_still_left, {time: 2, onComplete: go_telaio_computer});
}
if(elda_still_left.x==208) {
elda_still_right.x=208;
elda_still_right.y=454;
elda_still_left.visible=false;
elda_still_right.visible=true;
telaio.mouseEnabled = false;
Tweener.addTween(elda_still_right, {time: 2, onComplete: go_fridge_computer});
}
dove if(elda_still_left.x==208) si ripete
le due funzioni hanno nome diverso, non dovrebbe bastare questo?
altrimenti si dovrebbe forse dire "if x==208 e clicchi su telaio fai questo" e "if x==208 e clicchi su computer fai un'altra cosa"
per completezza, questo è il codice che sposta il personaggio dal centro al fridge
codice:
//FRIDGE FROM CENTER
fridge.addEventListener( MouseEvent.CLICK, center_fridge );
function center_fridge(e:MouseEvent):void
{
if(elda_still_left.x==490 && elda_sits_computer.visible==false) {
eldona_walking_left.visible = true;
eldona_walking_left.x=490;
eldona_walking_left.y=620;
elda_still_left.visible = false;
elda_still_right.visible = false;
Tweener.addTween(eldona_walking_left, {x:208, y: 454, time: 4, onComplete: elda_ferma});
computer.mouseEnabled = false;
telaio.mouseEnabled = false;
computer.removeEventListener( MouseEvent.CLICK, center_computer );
fridge.removeEventListener( MouseEvent.CLICK, center_fridge );
telaio.removeEventListener( MouseEvent.CLICK, center_telaio );
}
grazie!