Ola! Sou um usuário intermediário em as e estou a tentar desenvolver meu primeiro jogo em flash. O joguinho é composto de uma nave que vai adquirindo as armas no decorrer na fase e os respectivos inimigos que vão surgindo na cena. No movie do inimigo coloquei:
onClipEvent (load) {
quantidadeTiro = random(14);
vidaNave = 100;
if (_name != "mc_aviao_inimigo1")
_root.inimigos.push(_root[_name]);
}
onClipEvent(enterFrame) {
if (_name != "mc_aviao_inimigo1") {
if (_root.iniciarJogo && _root.informacoes.vidaF22 >= 0) {
if (vidaNave <= 0) {
_root.explode(this, _x, _y);
this.removeMovieClip();
} else {
this._y += _root.velocidadeInimigo;
if (this._y > 700) {
_root.mc_informacoes.perdido++;
this.removeMovieClip();
}
}
}
}
}
No movie bala da nave que controlo coloquei:
onClipEvent (load) {
retiraVida = 20;
}
onClipEvent(enterFrame) {
if(_name != "mc_bala_f22_simples") {
this._y -= _root.velocidadeBalaF22;
if (this._y < 40)
this.removeMovieClip();
if (_root.inimigos.length != 0) {
for (i = 0; i < _root.inimigos.length ; i++) {
if(this.hitTest(_root.inimigos)) {
_root.inimigos.vidaNave -= retiraVida;
this.removeMovieClip();
}
}
}
}
}
Ou seja quando a bala entra em contato com a nave inimiga, e se este estiver no array de nave inimigas, a vida do mesmo será reduzida. Quando a vida for menor que 0 a nave é destruída, chamando a funcao a seguir.
Quando eu estou a jogar o game, tem momento que os inimigos somem da tela sem mesmo serem atingidos. já tentei entender o porque mais até agora nada. Vejam vem os avioes aparecem na tela e quando tento destruír um, acontece de os demais serem destruído. Não é sempre que isso acontece.
Espero que algume possa me ajudar com algumas informação que venha resolver este problema.
Pergunta
downloady
Ola! Sou um usuário intermediário em as e estou a tentar desenvolver meu primeiro jogo em flash. O joguinho é composto de uma nave que vai adquirindo as armas no decorrer na fase e os respectivos inimigos que vão surgindo na cena. No movie do inimigo coloquei:
onClipEvent (load) {
quantidadeTiro = random(14);
vidaNave = 100;
if (_name != "mc_aviao_inimigo1")
_root.inimigos.push(_root[_name]);
}
onClipEvent(enterFrame) {
if (_name != "mc_aviao_inimigo1") {
if (_root.iniciarJogo && _root.informacoes.vidaF22 >= 0) {
if (vidaNave <= 0) {
_root.explode(this, _x, _y);
this.removeMovieClip();
} else {
this._y += _root.velocidadeInimigo;
if (this._y > 700) {
_root.mc_informacoes.perdido++;
this.removeMovieClip();
}
}
}
}
}
No movie bala da nave que controlo coloquei:
onClipEvent (load) {
retiraVida = 20;
}
onClipEvent(enterFrame) {
if(_name != "mc_bala_f22_simples") {
this._y -= _root.velocidadeBalaF22;
if (this._y < 40)
this.removeMovieClip();
if (_root.inimigos.length != 0) {
for (i = 0; i < _root.inimigos.length ; i++) {
if(this.hitTest(_root.inimigos)) {
_root.inimigos.vidaNave -= retiraVida;
this.removeMovieClip();
}
}
}
}
}
Ou seja quando a bala entra em contato com a nave inimiga, e se este estiver no array de nave inimigas, a vida do mesmo será reduzida. Quando a vida for menor que 0 a nave é destruída, chamando a funcao a seguir.
function explode(nave, posicaoX, posicaoY):Void {
_root.mc_explosao.duplicateMovieClip("explosao" + _root.mc_informacoes.destruido, _root.mc_informacoes.destruido, _root.mc_informacoes.destruido);
_root["explosao" + _root.mc_informacoes.destruido]._x = posicaoX;
_root["explosao" + _root.mc_informacoes.destruido]._y = posicaoY;
_root.removeInimigo(nave);
_root.mc_informacoes.destruido++;
}
Funcao que remove do array de inimigos o inimigo:
function removeInimigo(inimigoSelecionado):Void {
for (i = 0 ; i < _root.inimigos.length; i++) {
if (_root.inimigos == inimigoSelecionado) {
_root.inimigos.splice(i, 1);
}
}
}
Agora vem o problema!
Quando eu estou a jogar o game, tem momento que os inimigos somem da tela sem mesmo serem atingidos. já tentei entender o porque mais até agora nada. Vejam vem os avioes aparecem na tela e quando tento destruír um, acontece de os demais serem destruído. Não é sempre que isso acontece.
Espero que algume possa me ajudar com algumas informação que venha resolver este problema.
Por mais obrigado e aguardo uma ajuda de brother.
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.