digor7
Power Member
Tou a seguir este tutorial
http://video-animation.com/flash_12.shtml
e não estou a conseguir pôr a nave a disparar. Sempre que vou a testar a suposta bala dispara logo e não dá para disparar mais... a parte que estou a fazer é esta traduzida pa pt:
alguém me sabe dizer porque não consigo?
http://video-animation.com/flash_12.shtml
e não estou a conseguir pôr a nave a disparar. Sempre que vou a testar a suposta bala dispara logo e não dá para disparar mais... a parte que estou a fazer é esta traduzida pa pt:
Código:
As Balas
Agora vamos fazer uma bala. Desenhe uma forma oval ou de qualquer forma. Selecione-oe
pressione a tecla F8 (converter para símbolo). Chame-lhe "Bullet" e torná-lo um movieClip.
Na janela de propriedades Bullet, dar-lhe o nome de instância
"bala" O que precisamos fazer é criar um ponto é sempre o rato
Cliquei e quando ele vai offstage para destruí-lo ou voltar a utilizá-lo.
Temos de escrever um algoritmo para descrever a seqüência de eventos para
movendo uma bala.
/ / Mover o ponto em 30 pixels por quadro para a parte superior da moldura
/ / Quando a bala atinge o início da etapa, destruí-lo ou voltar a utilizá-lo.
Vamos fazê-lo. Selecione seu bala no palco e abrir a janela Acção
e colocar neste código:
onClipEvent(enterFrame){
// move it 30 pixels towards the top of screen
this._y -= 30;
// if bullet goes offstage , destroy it
if(this._x<0 || this._x>Stage.width || this._y < 0)
{
this.removeMovieClip();
}
}
Selecione seu defensor MC e adicionar este código após o enterFrame código:
// when the mouse cliks
onClipEvent(mouseDown)
{
// duplicate the bullet mc
_root.bullet.duplicateMovieClip("bullet"+bulletNum,bulletNum);
// set the coords to the mouse clik
eval("_root.bullet" + bulletNum)._x = this._x;
eval("_root.bullet" + bulletNum)._y = this._y;
// increment the bullet number
bulletNum++;
// if more than 50 bullets , start again at 0
if(bulletNum>50)
bulletNum = 0;
}
O código acima
duplicatas a bala mc e confere-lhe um número de "bulletNum"
Em seguida, define o início x e y coords da bala ao x e y
coordenadas de onde o mouse foi clicado.
O bulletNum é incrementado para que a próxima bala criado por um
mouseclick tem um número de bulletNum 1.
Então, se o bulletNum for igual ou superior a 50, a bulletNum é reposto a 0
e começa a contar novamente.
Até agora o nosso defensor deve mover da esquerda para a direita seguindo o mouse
e deve disparar balas quando a esquerda cliques do mouse
alguém me sabe dizer porque não consigo?