Action Script

DreamOn

Folding Member
Estou aqui com uns problemas em action script para um projecto em flash. O meu objectivo é fazer com que uma bola ao bater num obstaculo volte para tras. Porem quando ela bate lá vem apenas um bocadinho para trás e volta a subir, não voltando ao ponto de inicio.

if (!bola_mc.hitTest(obstaculo_mc))
{
nextPosY = bola_mc._y;
if (obstaculo_mc.hitTest(nextPosY + bola_mc._width, obstaculo_mc._y, false))
nextPosY = bola_mc._Y - 15;
}
else
nextPosY = bola_mc._Y + 15;

}

Gracias :)
 
Não percebo muito de Action Script, mas segundo a análise que fiz, talvez passe por aqui:

Calculo que este código que puseste esteja dentro de uma estrutura de iteração; (caso eu esteja errado, ignora a resposta)

* Ao testares com o if se a bola bate na parede (teste instancial), apenas fazes com que a posiçãoY desta decresça 15 un.
* Assim, na próxima iteração do for, ou do while, esta já não está a bater na parede e volta a ser implementada a incrementação (Y+15) inicial.

* Penso que a solução seja implementares um método (SentidoY) inteiro (+1 para cima, 0 para mudança de sentido, -1 para baixo) dentro da classe em que estás a criar o objecto bola, de modo a que consigas testá-lo a cada iteração, e usares essa condição para definir o incremento (+15 ou - 15).

Qd puderes diz-me se isto te serviu de alguma coisa, sff.
 
Acabei por conseguir :)

Fiz algo do género..

subida = true;

if (subida==true){
verifica se bate;
quando bater faz subida = false;
}
 
Back
Topo