..:: MX Studio Fóruns ::..: Dúvidas do tutorial de criação de games - ..:: MX Studio Fóruns ::..

Jump to content

Publicidade




  • 2 Pages +
  • 1
  • 2
  • You cannot start a new topic
  • You cannot reply to this topic

Dúvidas do tutorial de criação de games Tirarei dúvidas sobre o tutorial de criação de games

#1 User is offline   Márcio Silva 

  • Group: Colunistas
  • Posts: 79
  • Joined: 28-March 07

Posted 06 April 2007 - 03:29 AM

Olá membros da comunidade!


Estarei utilizando este tópico para responder perguntas referentes ao tutorial de criação de games que eu criei.

Artigo Flash - Criação de Games em Flash

Poste aqui as dúvidas que tiverem.

vlw galera!
0

#2 User is offline   marcix 

  • Group: Membros
  • Posts: 27
  • Joined: 01-April 07

Posted 08 May 2007 - 02:32 PM

Fala Márcio, Tranquilo?
Postei uma dúvida sobre esse tutorial em outro lugar, não tinha visto este tópico!

http://www.mxstudio.com.br/forum/index.php?showtopic=41362

Estou tentando fazer com que a barra de espaço atire. Mas se eu mantiver a barra pressionada, gostaria que saissem os tiros dentro de um determinado intervalo.

Abraço
0

#3 User is offline   Strid 

  • Group: Membros
  • Posts: 5
  • Joined: 02-December 06

Posted 11 May 2007 - 04:59 PM

uns dúvidas q me assolam com certa frequência:

1- Tem como definir o volume de cada efeito de som sem isolá-los em movieclips? só consigo alterar os volumes individualmente se os sons estiverem em movieclips separados

2- Algum sugestão de algoritmo pra criar uma IA de movimentação veicular?? no caso seria um jipe, o melhor q consegui foi random AI controlando steering, mas n gostei do resultado
0

#4 User is offline   WEBSERVER 

  • Group: Membros
  • Posts: 1
  • Joined: 14-May 07

Posted 14 May 2007 - 09:46 PM

No artigo você colocou o seguinte:
"Agora vamos so código do inimigo, dê dois cliques no inimigo. No primeiro frame coloque:"
1- var life:Number = 100;

Não entendi aonde é pra colocar esse código na janela de actions (F9)?

Outra dúvida quando termino o tutorial e mando visualizar em html aparece a seguinte mensagem de error no flash:

**Error** Scene=Scene 1, layer=Layer 1, frame=1:Line 12: Syntax error.
12. }

Total ActionScript Errors: 36 Reported Errors: 36


0

#5 User is offline   Márcio Silva 

  • Group: Colunistas
  • Posts: 79
  • Joined: 28-March 07

Posted 16 May 2007 - 12:24 PM

QUOTE(marcix @ 8/5/2007 13:05:13) View Post
Fala Márcio, Tranquilo?
Postei uma dúvida sobre esse tutorial em outro lugar, não tinha visto este tópico!

http://www.mxstudio.com.br/forum/index.php?showtopic=41362

Estou tentando fazer com que a barra de espaço atire. Mas se eu mantiver a barra pressionada, gostaria que saissem os tiros dentro de um determinado intervalo.

Abraço


Olá marcix,

Bom para fazer isso tem várias formas, uma delas bem simples sem usar métodos de temporização é fazer o seguinte:

declare mais uma variável do tipo booleana no _root com valor inicial de TRUE que vai ser modificado durante o decorrer do jogo, essa variável muda para FALSE quando vc precionar a barra de espaço, abaixo está representado como ficaria com o código original que eu uso (Atirando com o mouse):


CODE
var cont:Number = new Number();
var cont2:Number = new Number();
var atirar:Boolean = true;  // <= VARIÁVEL QUE ADICIONEI PARA CONTROLAR O FLUXO DE TIROS


cont=0; //contadores de tiros
count2=0; //contadores de explosões
onEnterFrame=function()
{
    /*verificamos quais teclas o usuário está precionando
    E também verificando quais os limites da tela
    */
    if(Key.isDown(Key.LEFT) && nave._x >=20)
        nave._x -=20;
    if(Key.isDown(Key.RIGHT) && nave._x <500)
        nave._x +=20;
    if(Key.isDown(Key.UP) && nave._y >20)
        nave._y -=20;
    if(Key.isDown(Key.DOWN) && nave._y <330)
        nave._y +=20;
    
    
    
    
}

onMouseDown = function()
{
    /*Verifica se eu posso atirar*/
    if(atirar)
    {
        _root.cont++;
        _root.tiro.duplicateMovieClip("tiro"+_root.cont,_root.cont,_root.cont); //duplicamos o tiro
        /*fazemos com que a réplica apareça na frente da nave*/
        _root["tiro"+_root.cont]._y = nave._y+10;
        _root["tiro"+_root.cont]._x = nave._x+10;
        atirar = false;   // <= ÚNICO MOMENTO QUE SETO ATIRAR PARA FALSE, não permitindo um tiro após o outro
    }
}


Dah forma que está vc vai conseguir dar um único tiro blush.gif . Por que nunca mais voiltamos o valor da variável atirar para TRUE, para corrigir basta vc dar um clique no movieclip tiro e adiconar as seguintes verificações:

CODE
onClipEvent(enterFrame)
{
    if(_name != "tiro")
    {
        this._y-=30;
        if(this._y < 0) // VERIFICAÇÃO NOVA, eu defini que quando o tiro chegar no limite superior que poderei atira novamente
            _root.atirar = true;
            
        if(this._y <0)//se o tiro passou do y=0 removemos do filme
            this.removeMovieClip();
        
        if(this.hitTest(_root.inimigo)) //verifica se tiro colidiu com o inimigo
        {
            _root.atirar = true; //QUANDO ACERTAR O INIMIGO TAMBÉM PODEREI ATIRAR NOVAMENTE
            _root.inimigo.life=0; //zeramos o life, um tiro só é fatal
            this.removeMovieClip(); //sumimos com o tiro da tela
            
        }
    }
}



Espero que tenha esclarecido sua dúvida, qualquer problema só perguntar



0

#6 User is offline   Márcio Silva 

  • Group: Colunistas
  • Posts: 79
  • Joined: 28-March 07

Posted 16 May 2007 - 12:54 PM

QUOTE(Strid @ 11/5/2007 15:05:20) View Post
uns dúvidas q me assolam com certa frequência:

1- Tem como definir o volume de cada efeito de som sem isolá-los em movieclips? só consigo alterar os volumes individualmente se os sons estiverem em movieclips separados

2- Algum sugestão de algoritmo pra criar uma IA de movimentação veicular?? no caso seria um jipe, o melhor q consegui foi random AI controlando steering, mas n gostei do resultado



Eae Strid,

Para sua primeira questão, vai um código abaixo que vai te ajudar. A classe Sound é ótima para carregar os sons no jogo, vc pode usar ferramentas para editar seus sons, tornando-os menores, como o sound Forge. No código abaixo mostra o carregamento de uma música mas vc pode criar um array guardando diversos objetos. Existem inúmeros métodos pertencentes a esta classe, por exemplo setVolume, start, position, duration entre outros. Dá uma pesquisada no help do flash ele explica cada um.

CODE
som_sound:Sound = new Sound(); //cria objeto
som_sound.loadSound("musica.mp3", true); // carrega musica
som_sound.setVolume(10);
som_sound.start();



Com um array armazenando todas as suas músicas, vc não necessitará criar movie clips para ouvir seus sons.


Quanto a sua segunda pergunta, tem IA pra tudo hehe, mas no caso de IA de carros, daríam vários tutoriais falando só disso. Abordarei este assunto em tutos mais avançados de criação de games. As melhores técnicas de IA tem bastante teoria envolvida.


até a próxima!
0

#7 User is offline   Márcio Silva 

  • Group: Colunistas
  • Posts: 79
  • Joined: 28-March 07

Posted 16 May 2007 - 01:04 PM

QUOTE(WEBSERVER @ 14/5/2007 20:05:53) View Post
No artigo você colocou o seguinte:
"Agora vamos so código do inimigo, dê dois cliques no inimigo. No primeiro frame coloque:"
1- var life:Number = 100;

Não entendi aonde é pra colocar esse código na janela de actions (F9)?

Outra dúvida quando termino o tutorial e mando visualizar em html aparece a seguinte mensagem de error no flash:

**Error** Scene=Scene 1, layer=Layer 1, frame=1:Line 12: Syntax error.
12. }

Total ActionScript Errors: 36 Reported Errors: 36


Olá WEBSERVER,

Esse código:

CODE
1- var life:Number = 100;


Vai no primeiro frame do movie Clip inimigo.
Se os erros não sumirem depois de vc colocar no lugar certo, num sei o que pode ser. Dá mais uma testada


té +.
0

#8 User is offline   UMGC CoD2 

  • Group: Membros
  • Posts: 3
  • Joined: 17-May 07

Posted 17 May 2007 - 06:40 PM

Aew pessoal...seguinte, eu fiz direitinho o jogo como no tutorial, mas queria saber como que faço se eu quiser fazer com que o inimigo atire em mim também, e fazer algo como barras de vida e pontos...Por favor me deem uma ajudinha aee... thumbsup.gif
0

#9 User is offline   felipesfl 

  • Group: Membros
  • Posts: 9
  • Joined: 18-May 07

Posted 18 May 2007 - 11:50 PM

Oi,
eu queria saber como faz para não matar o inimigo em apenas 1 tiro
Vlw
0

#10 User is offline   Márcio Silva 

  • Group: Colunistas
  • Posts: 79
  • Joined: 28-March 07

Posted 19 May 2007 - 03:48 PM

QUOTE(felipesfl @ 18/5/2007 23:05:24) View Post
Oi,
eu queria saber como faz para não matar o inimigo em apenas 1 tiro
Vlw



Eae Blz!


Bem simplizinho,

tem uma linha no cídigo do tuto que faz o life do inimigo setar pra Zero:

CODE
_root.inimigo.life=0;



Só mude para:

CODE
_root.inimigo.life -= 10;


No lugar do 10 vc pode colocar o valor de decremento do life que quiser.


flw
0

#11 User is offline   felipesfl 

  • Group: Membros
  • Posts: 9
  • Joined: 18-May 07

Posted 20 May 2007 - 11:20 PM

Vlw pela ajuda, mas o que eu mais queria era fazer com que o inimigo atirasse,
ou pelo menos quando ele colidisse com a nave, a nave morresse,
queria saber se tem como alguém me ajudar.

Vlwwww
0

#12 User is offline   Vido 

  • Group: Membros
  • Posts: 1
  • Joined: 23-May 07

Posted 23 May 2007 - 07:41 PM

Boa tarde/noite/dia a todos:

Eu estou trabalhando em um game independente (No fundo do quintal). Estou a quase 6 mês queimando meus neurônios para conseguir concluir o projeto. Devo dizer que eu comecei do zero, inclusive no que diz respeito aos conhecimentos em AS. Apesar de ainda não concluído, já está quase “jogavel”.
Gostaria de ensinar e aprender, afinal de contas o game não esta pronto;
Peço licença para o Márcio Silva, porque eu vou roubar um pouco a cena !

Flossembürg Project (Nome do jogo):
É um game de naves, estilo o lendário Ëhrnañder (Caso eu tenha escrito errado avisem).

Ai vai os códigos da sua nave:

Crie um Mc e dê o nome da instancia de "nave" (SEM aspas)
Obs: Crie um palco de 350 lagura x450 altura.

// //////////////////////////////////////////////////////////////
// ////////////////////Script da Nave////////////////////////////
// ///////////////////////////////////////////

///////////////////

onClipEvent (load) {
	speed = 6;
	var vida:Number = new Number();
	var vida = 100;
		var j = 2;
	var w = 100;
	var i = 2;
	var r = 50;
}
// /////////////////////1.2 Navegação Eixo X,Y////////////////////
onClipEvent (enterFrame) {
	// /////////////2.1 Para cima, baixo, direita, esquerda.//////////////
	if (Key.isDown(Key.LEFT) && !Key.isDown(Key.RIGHT)) {
		_x -= speed;
	}
	if (Key.isDown(Key.RIGHT) && !Key.isDown(Key.LEFT)) {
		_x += speed;
	}
	if (Key.isDown(Key.UP) && !Key.isDown(Key.DOWN)) {
		_y -= speed;
	}
	if (Key.isDown(Key.DOWN) && !Key.isDown(Key.UP)) {
		_y += speed;
	}
	// /////////////////1.3 Navegação nas Diagonais///////////////////////
	if (Key.isDown(Key.LEFT) && Key.isDown(Key.UP) && !Key.isDown(Key.RIGHT) && !Key.isDown(Key.DOWN)) {
	}
	if (Key.isDown(Key.RIGHT) && Key.isDown(Key.UP) && !Key.isDown(Key.LEFT) && !Key.isDown(Key.DOWN)) {
	}
	if (Key.isDown(Key.LEFT) && Key.isDown(Key.DOWN) && !Key.isDown(Key.RIGHT) && !Key.isDown(Key.UP)) {
	}
	if (Key.isDown(Key.RIGHT) && Key.isDown(Key.DOWN) && !Key.isDown(Key.LEFT) && !Key.isDown(Key.UP)) {
	}
	// //////////////1.4 Limitador de Posição/////////////////////
	if (_y<50) {
		_y = 50;
	}
	if (_y>380) {
		_y = 380;
	}
	if (_x<50) {
		_x = 50;
	}
	if (_x>300) {
		_x = 300;
	}
}
// ////////////////////////////////////////////////////////////////
// //////////////////2.0 Sistemas de Ataque////////////////////////
// ////////////////////////////////////////////////////////////////

// ///////////////////2.1 Direção o Laser//////////////////////
// //////////////////////2.2 Sistema de Disparo/////////////////////////
onClipEvent (keyDown) {
	if (Key.isDown(Key.SPACE)) {
		_root.laser.duplicateMovieClip("laser"+j, j);
		_root["laser"+j]._x = this._x;
		_root["laser"+j]._y = this._y;
		_root["laser"+j].disparar = true;
		j++;
		_root.viewj = j;
	}
}
// /////////////////////////////////////////////////////////////////
// ///////////////////////3.0 Míssel////////////////////////////////
// /////////////////////////////////////////////////////////////////

// ///////////////////3.2.1 Sistema de Lançamnto////////////////////////
onClipEvent (keyDown) {
	//////////////4.1 Sistema de Contagem de Misseis//////////////
	_root.hud1 = this.r;
	////////////////4.2 Limitador de Misseis//////////////////////
	if (Key.isDown(Key.CONTROL) && !r<=0) {
		r--;
		//////////////////////3.2.2 Sistema de Lançamnto////////////////////////
		_root.missel.duplicateMovieClip("missel"+i, i);
		_root["missel"+i]._x = this._x;
		_root["missel"+i]._y = this._y;
		_root["missel"+i].lancar = true;
		i++;
	}
}


Agora vamos ao 2° passo, o Inimigo.
Crie um Mc chamado de "inimigo"

/////////////////////////////////////////////////////////////////
///////////////////////Script do Inimigo/////////////////////////
/////////////////////////////////////////////////////////////////

onClipEvent (load) {
	badvelo = 1;
	var inicial = 30;
	var badvida = inicial;
	var badj = 2;
}
onClipEvent (enterFrame) {
	_root.teste = this.hitTest(_root.nave);
	if (this._name!= _root["bad"+_root.engine.tipo]) {
		if (badvida<=0) {
			_root.engine.flag = false;
			_root.contaexp++;
			/*Criamos uma explosão, pois o inimigo morreu*/
			_root.explosao.duplicateMovieClip("explode"+_root.contaexp, _root.contaexp, _root.contaexp);
			_root["explode"+_root.contaexp]._x = this._x;
			_root["explode"+_root.contaexp]._y = this._y;
			this._x = random(350);
			//o inimigo volta numa posição randômica
			this._y = 6;
			this.badvida = inicial;
			//voltamos o life do inimigo
		} else {
			if (_root.badlevel == 1) {
				updateAfterEvent();
				_x += badvelo;
				_y += 3;
				// //////////////1.2 Limitador de Posição/////////////////////
				if (_y<50) {
					_y = 380;
				}
				if (_y>420) {
					_y = 50;
				}
				if (_x<50) {
					badvelo = 1;
				}
				if (_x>300) {
					badvelo = -1;
				}
				////////////////////////////////////////////////////////////////////
				//////////////// LASER DO INIMIGO LV1 //////////////////////////////////
				///////////////////////////////////////////////////////////
				/// Para disparar o laser !
				if (_root.inimigo._x<=_root.nave._x+3 && _root.inimigo._x>=_root.nave._x-3) {
					_root.badlaser.duplicateMovieClip("badlaser"+badj, badj);
					_root["badlaser"+badj]._x = this._x;
					_root["badlaser"+badj]._y = this._y;
					_root["badlaser"+badj].disparar = true;
					badj++;
				}
			}
			///////////////////////////////////////////////////////////
			////////////////////////LEVEL2/////////////////////////////
			///////////////////////////////////////////////////////////
			if (_root.badlevel == 2) {
				if (badvelo == 1 && inicial == 30) {
					badvelo = 3;
					inicial = 60;
				}
				_x += badvelo;
				_y += 4;
				// //////////////1.2 Limitador de Posição/////////////////////
				if (_y<50) {
					_y = 420;
				}
				if (_y>380) {
					_y = 50;
				}
				if (_x<50) {
					badvelo = 3;
				}
				if (_x>300) {
					badvelo = -3;
				}
				////////////////////////////////////////////////////////////////////
				//////////////// LASER DO INIMIGO LV2 //////////////////////////////////
				///////////////////////////////////////////////////////////
				/// Para disparar o laser !
				if (_root.inimigo._x<=_root.nave._x+5 && _root.inimigo._x>=_root.nave._x-5) {
					_root.badlaser.duplicateMovieClip("badlaser"+badj, badj);
					_root["badlaser"+badj]._x = this._x;
					_root["badlaser"+badj]._y = this._y;
					_root["badlaser"+badj].disparar = true;
					badj++;
				}
			}
			//////////////////////////////////////////////////////
			//////////////////LEVEL 3////////////////////////////
			//////////////////////////////////////////////////////
			if (_root.badlevel == 2) {
				if (badvelo == 1 && inicial == 30) {
					badvelo = 3;
					inicial = 60;
				}
				_x += badvelo;
				_y += 4;
				// //////////////1.2 Limitador de Posição/////////////////////
				if (_y<50) {
					_y = 420;
				}
				if (_y>380) {
					_y = 50;
				}
				if (_x<50) {
					badvelo = 3;
				}
				if (_x>300) {
					badvelo = -3;
				}
				////////////////////////////////////////////////////////////////////
				//////////////// LASER DO INIMIGO LV3 //////////////////////////////////
				///////////////////////////////////////////////////////////
				/// Para disparar o laser !
				if (_root.inimigo._x<=_root.nave._x+5 && _root.inimigo._x>=_root.nave._x-5) {
					_root.badlaser.duplicateMovieClip("badlaser"+badj, badj);
					_root["badlaser"+badj]._x = this._x;
					_root["badlaser"+badj]._y = this._y;
					_root["badlaser"+badj].disparar = true;
					badj++;
				}
			}
			///////////////////////////////////////////////////////////
			/////////////////// LEVEL 4 //////////////////////////////
			////////////////////////////////////////////////////////
			if (_root.badlevel == 4) {
				if (badvelo == 3) {
					badvelo = 5;
				}
				_x += badvelo;
				_y += 6;
				// //////////////1.2 Limitador de Posição/////////////////////
				if (_y<50) {
					_y = 420;
				}
				if (_y>380) {
					_y = 50;
				}
				if (this._x>=_root.nave._x) {
					this._x -= ((this._x-_root.nave._x)/10);
				this._x-=1;
				}
				if (this._x<=_root.nave._x) {
					this._x += ((_root.nave._x-this._x)/10);
					this._x+=1;
				}
				////////////////////////////////////////////////////////////////////
				//////////////// LASER DO INIMIGO LV4 //////////////////////////////////
				///////////////////////////////////////////////////////////
				/// Para disparar o laser !
				if (_root.inimigo._x<=_root.nave._x+1 && _root.inimigo._x>=_root.nave._x-1) {
					_root.badlaser.duplicateMovieClip("badlaser"+badj, badj);
					_root["badlaser"+badj]._x = this._x;
					_root["badlaser"+badj]._y = this._y;
					_root["badlaser"+badj].disparar = true;
					badj++;
				}
			}
			//////////////////Mover a barra da vida///////////////
			_x = _root._inimigo._x;
			_root.badbarra._x = _x-(this.inicial/2);
			_y = _root._inimigo._y;
			_root.badbarra._y = (_y)-40;
			_x = _root._inimigo._x;
			_root.badbarraver._x = _x-(this.inicial/2);
			_y = _root._inimigo._y;
			_root.badbarraver._y = (_y)-40;
			updateAfterEvent();
			_root.badbarraver._xscale = inicial;
			_root.badbarra._xscale = badvida;
			if (_root.badbarra._xscale<=0) {
				_root.badbarra._xscale = 0;
			}
			////////////////X e Y inutil
			this._x = _root._inimigo._x;
			_root.badox = this._x;
			this._y = _root._inimigo._y;
			_root.badoy = this._y;
			_x = _root._inimigo._x;
			_root.badregx._x = _x;
			_y = _root._inimigo._y;
			_root.badregy._y = _y;
			updateAfterEvent();
			//////////////////////////LEVEL EVOLUTION///////////
			if (_root.badhit>=30) {
				_root.badlevel = 2;
			}
			if (_root.badhit>=60) {
				_root.badlevel = 3;
			}
			if (_root.badhit>=90) {
				_root.badlevel = 4;
			}
		}
	}
}


Nesse script contem alguns erros, portanto vá com calma. O erro está nos comandos do Level==3
Note que em "LASER DO INIMIGO" há um script que manda o inimigo atirar.
No inicio do código há um script que deveria criar novos inimigos com Mc diferentes, juntamente com o Mc “engine”. Mas isso não funciona corretamente, gostaria de ser ajudado nisso.

Agora o laser da nave;

Crie um MC para o laser, edite o mc criando 3 frames, e em cada um eles desenhe um tipo de laser diferente.
No 1° frame coloque:

stop();

_root.dano=2;
No 2°:
stop();

_root.dano=15;


No 3°:

stop();
_root.dano=40;


Agora crie um layer e no 1° frame:

stop();

		if(_root.level==1){
gotoAndStop(1);
		}
	
	if(_root.level==2){
gotoAndStop(2);
		}
		if(_root.level==3){
gotoAndStop(3);
		}


Saia do modo edição, e clique no Mc do laser. Dê o nome da instancia de “laser”. Agora vem o código:
///////////////////////////////////////////////////////////////////
///////////////////////Script do Laser/////////////////////////////
///////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////
////////////////// 1.0 Movimento do Laser//////////////////////////
///////////////////////////////////////////////////////////////////
/////////////1.1 Modulo de velocidade e aceleração////////////////
onClipEvent (load) {
	var velocidade = 2;
	var aceleracao = 1;
}
//////////////////////1.2 Ordem de Disparo/////////////////////////
onClipEvent (enterFrame) {
	if (disparar) {
		this._x = _root._nave._x;
		this._y = _root._nave._y;
		updateAfterEvent();
		velocidade += aceleracao;
		_y -= velocidade;
	}
////////////////////1.3 Sistema de Remoção //////////////////////// 

	if ((_y+_height)<0) {
		this.removeMovieClip();
	}
	updateAfterEvent();
}
/////////////////////////////////////////////////////////////////
///////////////////////2.0 Detector de Hit///////////////////////
/////////////////////////////////////////////////////////////////
onClipEvent (enterFrame) {
	if (this.hitTest(_root.inimigo)) {
		//verifica se tiro colidiu com o inimigo
		_root.hit++;
		_root.inimigo.badvida -= _root.dano;
		//zeramos o life, um tiro só é fatal
		this.removeMovieClip();
	}
}

Se sua nave pode atirar, porque seu adversário também não poderia?
Então vamos lá: (o script é muito semelhante ao laser)

Crie um MC e dê o nome da instancia de "badlaser"

///////////////////////////////////////////////////////////////////
///////////////////////Script do Laser/////////////////////////////
///////////////////////////////////////////////////////////////////


///////////////////////////////////////////////////////////////////
////////////////// 1.0 Movimento do Laser//////////////////////////
///////////////////////////////////////////////////////////////////

/////////////1.1 Modulo de velocidade e aceleração////////////////

onClipEvent(load) { 
var velocidade = 1; 
var aceleracao = 0.4; 
} 

//////////////////////1.2 Ordem de Disparo/////////////////////////

onClipEvent(enterFrame) { 
if(disparar) { 
velocidade += aceleracao; 
_y += velocidade 
} 
updateAfterEvent(); 
}

/////////////////////////////////////////////////////////////////
///////////////////////2.0 Detector de Hit///////////////////////
/////////////////////////////////////////////////////////////////
onClipEvent (enterFrame) {
	if (this.hitTest(_root.nave)) {
		//verifica se tiro colidiu com o inimigo
	_root.teste=true;
	this.removeMovieClip();
	}
	
	if (this.hitTest(_root.sbc)) {
	this.removeMovieClip();
	}
}
////////////////////1.3 Sistema de Remoção //////////////////////// 

onClipEvent(enterFrame) { 

if ((_y+_height)>450) {
		this.removeMovieClip();
	}
}



Peço ajudo a alguém, apesar do laser detectar que bateu na nave, ele não altera a variável _root.nave.vida. No Script diz para dar True para a variável _root.teste, e o MC _root.engine diz que quando _root.teste==true, a _root.nave.vida é subtraída.

Vamos ao script do 1º Frame:

///////////////////////////////////////////////////////////////
///////////////////////Script do Frame/////////////////////////
///////////////////////////////////////////////////////////////
//////////////SCOREs//////////////////
stop();
var scoretotal = 0;
var scorelv1 = 0;
var scorelv2 = 0;
var scorelv3 = 0;
var hit = 0;
var badhit = 0;
var mira;
mira = ((hit*100)/_root.nave.j) add "%";
/////////////Evita que o filme seja redimensionado/////////////
fscommand("allowscale", false);
////////////Torna o movieclip "laser" invisível////////////////
laser._visible = false;
//Define a variável "disparar" do movieclip com o valor false// 
laser.disparar = false;
////////////////THE BAD GUYS
badlaser._visible = false;
badlaser.disparar = false;
////////////Torna o movieclip "missel" invisível////////////////
missel._visible = false;
missel.lancar = false;
////////////Torna o movieclip "escudo" invisível////////////////
escudo._visible = false;
/////////////////////Cria e Seta a Var Vida////////////////////
myColor = new Color(barra);

////////// HIT TEST //////////////////////////
var hit = false;
//// Danos das armas
var level = 3;
var badlevel = 1;
var danobuster = 30;
var dano = 10;
/// Contador de inimigos e explosôes
var cantaexp:Number = new Number();
cantaexp = 1;

var cantaini:Number = new Number();
cantaini = 1;


//////////////////Posição do UP/////////////////////
var flag = true;
/*
onClipEvent (enterFrame) {
if(hit) { 

_root.escudo._visible = true;
}else{
_root.escudo._visible = false;
}
updateAfterEvent(); 
}
// _root.teste = this.hitTest (_root.nave);
//	_root["laser"+j].disparar = true;*/



Enfim acho que isso é o básico para funcionar um game bem (bem mesmo). Vou para de posta antes que meu posta tenha 1K (K de Kilometro, e não Kbytes).
Há muito “código inútil” nos scripts, pois o jogo “completo” há mais recursos que eu não vou conseguir abordar agora. Vale lembrar que o código não está terminado, ainda há bugs e coisa que eu ainda não sei fazer.

O .fla do game está no meu site www.favelaproject.xpg.com.br (use o Mozilla)

O Link é: www.favelaproject.xpg.com.br/cont/utilidades/flossemburg/Flossembürg_Project.zip

Abraço a todos, espero ter sido útil.

0

#13 User is offline   felipesfl 

  • Group: Membros
  • Posts: 9
  • Joined: 18-May 07

  Posted 27 May 2007 - 02:10 PM

Será que teria como alguma pessoa apenas falar como eu consigo fazer o inimigo colidir em mim,
e a nave principal explodir?
E também gostaria de saber se tem como fazer isso sem fazer a nave principal independente,
mas no frame

Flws
laugh.gif
0

#14 User is offline   Márcio Silva 

  • Group: Colunistas
  • Posts: 79
  • Joined: 28-March 07

Posted 04 June 2007 - 08:45 PM

Olá vido valeu pela contribuição.

Meu enfoque no tutorial foi dar só um pontapé inicial para aqueles que não sabiam nada de games em flash.

Por isso não entrei em muitos detalhes.

Dado esse pontapé colocarei tutoriais de nível mais elevado, estou demorando postar outro devido ao fim do semestre na faculdade, ainda mais que estou no último ano de ciência da computação, é uma correria só.

Mas num vejo hora de postar um tutorial bem bacana, que envolva bastantes conceitos.

vlw!
0

#15 User is offline   Márcio Silva 

  • Group: Colunistas
  • Posts: 79
  • Joined: 28-March 07

Posted 04 June 2007 - 08:49 PM

Olá felipe

Para que o que vc quer acredito que basta vc dar uma olhadinha no código que trata da colisão entre o tiro e o inimigo e utilizar para fazer a comparação de hitTest entre o inimigo e a nave, não mais entre o tiro e o inimigo. o Código de criação dá explosão é o mesmo.


vlw!
0

#16 User is offline   felipesfl 

  • Group: Membros
  • Posts: 9
  • Joined: 18-May 07

Posted 05 June 2007 - 08:35 PM

QUOTE(Márcio Silva @ 4/6/2007 19:06:54) View Post
Olá felipe

Para que o que vc quer acredito que basta vc dar uma olhadinha no código que trata da colisão entre o tiro e o inimigo e utilizar para fazer a comparação de hitTest entre o inimigo e a nave, não mais entre o tiro e o inimigo. o Código de criação dá explosão é o mesmo.

vlw!



É,mas eu até consegui fazer o inimigo explodir quando ele colidisse em mim,mas o problema, é que não estou conseguindo criar a variável vida para a nave.

Flws
0

#17 User is offline   Dito 

  • Group: Membros
  • Posts: 31
  • Joined: 01-June 07

Posted 06 June 2007 - 11:25 AM

Bom dia!
Acabei comentando sobre seu tutorial em outro tópico.

http://www.mxstudio.com.br/forum/index.php?showtopic=42764


0

#18 User is offline   falamansa 

  • Group: Membros
  • Posts: 9
  • Joined: 22-June 07

Posted 22 June 2007 - 05:18 PM

oi tenho um codigo que pode te ajudar se vc ainda nao o conseguiu fazer so que ele atira com o mouse, se servir é só enviar um email para tgbgyn2006@yahoo.com.br. que eu te passo ele. ok!!! ?
0

#19 User is offline   gatofelix 

  • Group: Membros
  • Posts: 5
  • Joined: 25-July 07

Posted 25 July 2007 - 07:27 PM

adorei o jogo, mas tou encotrando um pequeno problema no tiro
no exemplo que vc usa no toturial o tiro some quando o inimigo explode no jogo que fiz o tiro continua aparecendo depois que o inimigo explode



aproveitando a oportunidade
teria como colocar mais inimigos no jogo, se sim como faço isso



0

#20 User is offline   Márcio Silva 

  • Group: Colunistas
  • Posts: 79
  • Joined: 28-March 07

Posted 26 July 2007 - 06:16 PM

Olá amigo,


Imagino que a linha abaixo não esteja sendo executada, que é ação do próprio tiro, um motivo pode ser que algum nome do dos mc's podem estar errados. Dá verificada.

CODE
if(this.hitTest(_root.inimigo)) //verifica se tiro colidiu com o inimigo
{
           _root.inimigo.life=0; //zeramos o life, um tiro só é fatal
           this.removeMovieClip(); //sumimos com o tiro da tela
}


Quanto criar vários inimigos é fazer como se faz com os tiros, são criados com o método
CODE
_root.tiro.duplicateMovieClip("tiro"+_root.cont,_root.cont,_root.cont);


Éó modificar o nome do movie clip de tiro para inimigo e escolher o melhor posicionamento para ele, tem que ser num local que é executado várias vezes, pode ser no onEnterFrame onde são declaradas os cont e cont2.


flw
0

#21 User is offline   gatofelix 

  • Group: Membros
  • Posts: 5
  • Joined: 25-July 07

Posted 27 July 2007 - 09:50 AM

valeu márcio,

realmente era os nomes que estavam errados, o segundo código funcionou direitinho tá duplicando os inimigos,
mas apareceu outro problema é que os tiros não estão pegando nas cópias
tipo assimquando aparecem vários inimigos, atiro numa das copias e o tira vai para o inimigo original
0

#22 User is offline   Márcio Silva 

  • Group: Colunistas
  • Posts: 79
  • Joined: 28-March 07

Posted 27 July 2007 - 02:48 PM

Ah sim, Num vão pegar mesmo olha só o teste que tá sendo feito:

CODE
if(this.hitTest(_root.inimigo)) //verifica se tiro colidiu com o inimigo
{
           _root.inimigo.life=0; //zeramos o life, um tiro só é fatal
           this.removeMovieClip(); //sumimos com o tiro da tela
}


Observa que o teste de colisão está sendo feito no mc inimigo e não nas suas cópias, pra solucionar o problema creio que basta você cada vez que criar um inimigo armazená-lo num vetor para depois fazer o teste com cada um deles pra ver se colidiu usando um for para varrer este vetor. Por que tanto os tiros quanto os inimgos agora são cópias dos originalis então uma das formas de fazer e guardando as cópias dos inimigos e depois um laço para varrer e fazer os teste de colisão. Então este if que está acima vai ficar dentro do for.





flw
0

#23 User is offline   felipesfl 

  • Group: Membros
  • Posts: 9
  • Joined: 18-May 07

  Posted 06 August 2007 - 06:35 PM

pow,qria agradecer a tds do mxstudio por sempre ajudar ae as pessoas,
e q tipow, eu ja estou quase terminando meu gamezinho de nave,
com a base daqueles simples quadradinhos azuis q explodiam
e atiravam no inimigo.
Fico muito grato a tds adm e a tds q me ajudaram
ah e se quiser ver como tah meu game,
podem ver nesse link http://www.flashbrasil.kit.net/jogodenave.swf

e mandem para o e-mail felipesfl@hotmail.com opiniões, ou por esse tópico:
http://www.mxstudio.com.br/forum/index.php?showtopic=46275
abçs
0

#24 User is offline   Márcio Silva 

  • Group: Colunistas
  • Posts: 79
  • Joined: 28-March 07

Posted 07 August 2007 - 02:52 PM

Olá Felipe,

Fico feliz daquele simples tutorial ter inspirado vc a fazer um jogo bacana.


flw kara.
0

#25 User is offline   felipesfl 

  • Group: Membros
  • Posts: 9
  • Joined: 18-May 07

  Posted 08 August 2007 - 09:14 PM

Eu queria saber q tipo,tava querendo colocar
no meu jogo percentual de acerto
e coloquei o cont, o q contava o número de tiros,
e o cont2 q contava o número de pontos.
e tentei colocar um percentual, dividindo essas 2 variáveis
e eu coloquei o dinamic text como movie clip, coloquei o nome da variável do campo-texto,no caso porcento.
onClipEvent (enterFrame) {
porcento = _root.cont2() /_root.cont()*100;
}


ta escrevendo NaN nesse campo de texto

Queria saber se alguém pode me ajudar

flwws
0

#26 User is offline   Márcio Silva 

  • Group: Colunistas
  • Posts: 79
  • Joined: 28-March 07

Posted 09 August 2007 - 11:17 AM

Opa, eae,
Creio que é porque vc tah usando cont e cont2 como se fossem funções, mas na verdade são variáveis. Creio que se vc fizer assim deve funcionar. Qualquer problema posta aí.
CODE
onClipEvent (enterFrame)
{
       porcento = _root.cont2/_root.cont*100;
}


flw
0

#27 User is offline   Mirdov 

  • Group: Membros
  • Posts: 15
  • Joined: 08-August 07

Posted 09 August 2007 - 11:54 AM

Ola pessoal, ola márcio,
Eu sou novo aqui e tenho muito que aprender ainda e espero aprender muito com voces smartass.gif
só que sou meio cabeça dura pra entender algumas coisa unsure.gif isso mesmo um noob! =/
eu li e tentei fazer tudo que estava aqui no forum mais nao deu serto, porque dava erro de "as" quando nao dava nao fazia nada.
o que tentei fazer e oque gostaria de fazer:
1- mutiplos inimigos - eu fiz como esplicado no forum só que vinha 2 inimigos juntos quando explodia um o outro saia de detro dela e passava direto.

2- para mudar o comando "onMouseDown = function()" para atirar com a tecla de espaço eu mudo onde???
desculpe por ser tao burro eque eu tentei um monte de nome e deu erro

3- eu sou muito burro pra poder aprender AS???
pq eu usava o flash 5 Br. e só usava Stop(); Play(); e outras coisas simples. agora estou com o Flash 8

4- como eu coloco son no tiro, explosoes e de fundo.

se esses forem erros simples e estou colocando aqui por falta de atençao me desculpem e espero a ajuda de todos
PS.: alguem sabe d algum tutorial que sobre AS 2.0 Tem aqui no forum???
Obrigado ae pessoal!!!


0

#28 User is offline   Márcio Silva 

  • Group: Colunistas
  • Posts: 79
  • Joined: 28-March 07

Posted 09 August 2007 - 12:30 PM

Olá mirdov,

Como vc mesmo relatou, seu problema maior está sendo um pouco a dificuldade com o AS 2.0, essas mudanças que vc está propondo não vão ser fácei s de fazer se vc não tiver um pouco mais de conhecimento no AS 2.0.


Faz o seguinte:

Vai no portal do mxstudio www.mxstudio.com.br e use a busca no topo a direira por Action script 2.0, vai aparecer vários resultados. è bom começar por lá.



flw
0

#29 User is offline   felipesfl 

  • Group: Membros
  • Posts: 9
  • Joined: 18-May 07

Posted 10 August 2007 - 03:47 PM

QUOTE(Márcio Silva @ 9/8/2007 10:08:17) View Post
Opa, eae,
Creio que é porque vc tah usando cont e cont2 como se fossem funções, mas na verdade são variáveis. Creio que se vc fizer assim deve funcionar. Qualquer problema posta aí.
CODE
onClipEvent (enterFrame)
{
       porcento = _root.cont2/_root.cont*100;
}


flw



fla e aew
até deu certo, mas o problema é que quando a variável porcento eh 0, qd divide o 0 pelo 0
aparece NaN, ao invés de 0.

flws
0

#30 User is offline   Sr.espiga 

  • Group: Membros
  • Posts: 119
  • Joined: 19-August 07

  Posted 19 August 2007 - 07:46 PM

Como eu faria para que
quando eu destruir um inimigo eu some um “x ponto”
E depois eu salve esses pontos para quando eu jogar d novo
os pontos continue smartass.gif
0

#31 User is offline   leocb 

  • Group: Membros
  • Posts: 2
  • Joined: 02-November 07

Posted 03 November 2007 - 04:47 PM

cara eu to fazendo um jogo de corrida e estou com problemas no AS
dá uma olha ai
http://www.mxstudio.com.br/forum/index.php?showtopic=50935

flws um abraço thumbup.gif
0

#32 User is offline   dudaefj 

  • Group: Membros
  • Posts: 1
  • Joined: 22-December 07

  Posted 22 December 2007 - 11:12 PM

Kara, eu sou completamente iniciante, como você disse que precisava de um Conhecimento básico em ActionScript como pré-requisito, acho que este deve ser o problema.

Eu não sei onde conseguir este conhecimento básico, já procurei sobre isso no google, e, após muita pesquisa, eu entendi que esse AS seria quase a mesma coisa que flash... O programa Macromedia Flash MX dá conta do recado para fazer jogos?

Bom, de qualquer forma, esse AS é um programa? Nos sites só dizem que é uma "linguagem de programação", admitindo que seja um programa, eu não o encontrei para download em lugar algum.

Qual o nome do programa, o qual você usou para fazer este "simples" joguinho?

Desculpe tantas perguntas de novato, e desde já, grato.
0

#33 User is offline   Márcio Silva 

  • Group: Colunistas
  • Posts: 79
  • Joined: 28-March 07

Posted 26 December 2007 - 12:41 AM

Olá,

AS é o a sigla de Action Script, é um uma linguagem de programação Orientada a Objetos, recomendo estudá-la antes de começar com games em flash, a última versão da linguagem é o AS 3.

O AS 3, está disponível no Macromedia Flash CS3, mas comece pelo básico. Depois vá ao Action Script 3, pode utilizar o Macromedia Flash MX para começar.

busque na home do portal os tutoriais de Action Script em www.mxstudio.com.br.

Qualquer coisa posta no fórum de Action Script.

flw
0

#34 User is offline   ubi_rj 

  • Group: Moderador Global
  • Posts: 2920
  • Joined: 29-June 07

Posted 26 December 2007 - 05:07 PM

QUOTE(dudaefj @ 22/12/2007 23:12:21) <{POST_SNAPBACK}>
Eu não sei onde conseguir este conhecimento básico, já procurei sobre isso no google, e, após muita pesquisa, eu entendi que esse AS seria quase a mesma coisa que flash... O programa Macromedia Flash MX dá conta do recado para fazer jogos?

Bom, de qualquer forma, esse AS é um programa? Nos sites só dizem que é uma "linguagem de programação", admitindo que seja um programa, eu não o encontrei para download em lugar algum.


Como o Márcio falou, AS é a sigla de ActionScript.

Flash e ActionScript não são as mesmas coisas, apesar de uma estar totalmente ligada a outra.

O ActionScript é a linguagem de programação do Flash.
No entando, existem algumas animações básicas que não precisam nem de programação.

Mas para coisas um pouco mais trabalhadas, é inevitável o uso de programação, no caso, ActionScript.

Qualquer dúvida poste no fórum principal: "Flash e ActionScript"

Abração !
0

#35 User is offline   Edu Soller 

  • Group: Membros
  • Posts: 10
  • Joined: 21-March 05

  Posted 27 December 2007 - 05:18 PM

Olá Márcio, gostaria de saber como eu faria o hitTest no caso de ter mais de um inimigo por vez no palco. Os inimigos seriam criados com duplicateMovieClip ou attachMovie e seriam instanciados dinamicamente, assim como os tiros, sendo assim como detectar as colisões?
Obrigado
0

#36 User is offline   Márcio Silva 

  • Group: Colunistas
  • Posts: 79
  • Joined: 28-March 07

Posted 31 December 2007 - 12:51 AM

Olá Edu,

Não mudará nada no teste de colisão, apenas vc tem que mudar o surgimento dos inimigos na tela, vc mesmo pode inventar uma forma de aparecer, uma dica é colocar os inimigos aparecendo de acordo com um intervalo de tempo, no tutorial eu fiz para aparecer somente se explodir ou se chegar ao final do stage.

Mas o teste de colisão e a criação dos inimigos com o duplicateMovieClip contiua da mesma forma, a quantidade de inimigos na tela não vai influenciar o teste de colisão, mas não coloque muitos inimgos na tela de uma vez, pois seu jogo ficará muito lento.


flw, espero ter esclarecido sua dúvida.

0

#37 User is offline   N_Paixao 

  • Group: Membros
  • Posts: 5
  • Joined: 12-February 08

  Posted 12 February 2008 - 08:47 AM

Olá a todos!

Peço desculpa se estou a postar no sítio errado mas vi uma dúvida parecida à que tenho e como não tinha resposta, resolvi colocar aqui. Se estiver errada peço imensa desculpa.

Estou a fazer um site em flash mas a minha grande dúvida é na criação de um jogo.

O jogo é sobre a reciclagem e consiste em pegar na imagem do lixo e colocar no ecoponto correcto e claro, depois por cada resposta correcta tem a sua pontuação :|

Sei que tenho de fazer o movieclip arrastável, já consegui alguns exemplos na net mas o meu problema é, quando o largo junto do ecoponto, seja o correcto ou não, como faço para que o código verifique se a imagem foi largada no ecoponto correcto ou não? E depois também como faço para pôr as pontuações.

A lógica tenho-a na cabeça mas não tou a conseguir fazer em código.

Se alguem quiser ver um exemplo do jogo, um pouco diferente mas a lógica está lá, pode ir a este site www.pontoverde.pt e tem lá, no lado direito, o jogo da reciclagem.

Agradeço toda e qualquer ajuda!

P.S.: Se preferirem em mandar mail deixo aqui o meu contacto: neidejosepaixao@hotmail.com. Deixem no assunto Jogo em Flash

Muito obrigada
0

#38 User is offline   xizun 

  • Group: Membros
  • Posts: 3
  • Joined: 08-April 08

Posted 08 April 2008 - 11:21 AM

onde coloco os codigos?
0

#39 User is offline   Alvite 

  • Group: Membros
  • Posts: 1
  • Joined: 07-April 08

Posted 08 April 2008 - 12:14 PM

QUOTE(xizun @ 8/4/2008 10:04:15) <{POST_SNAPBACK}>
onde coloco os codigos?


Clica com o botao direito no primeiro frame e va na opção action, ira abrir uma janela coloque la os codigos


abbbssss
0

#40 User is offline   raf 

  • Group: Membros
  • Posts: 6
  • Joined: 29-April 08

Posted 01 May 2008 - 08:26 PM

Ae cara, eu tentei fazer o joguinho da nave e fica dando esses erros.

QUOTE
**Error** Scene=Scene 1, layer=Layer 1, frame=1:Line 1: Syntax error.
1. var cont:Number = new Number();

**Error** Scene=Scene 1, layer=Layer 1, frame=1:Line 2: Syntax error.
2. var cont2:Number = new Number();

**Error** Scene=Scene 1, layer=Layer 1, frame=1:Line 3: Syntax error.
3. cont=0; //contadores de tiros

**Error** Scene=Scene 1, layer=Layer 1, frame=1:Line 4: Syntax error.
4. count2=0; //contadores de explosões

**Error** Scene=Scene 1, layer=Layer 1, frame=1:Line 5: Syntax error.
5. onEnterFrame=function()

**Error** Scene=Scene 1, layer=Layer 1, frame=1:Line 6: '{' expected
6. {

**Error** Scene=Scene 1, layer=Layer 1, frame=1:Line 10: Syntax error.
10. if(Key.isDown(Key.LEFT) && nave._x >=20)

**Error** Scene=Scene 1, layer=Layer 1, frame=1:Line 11: Syntax error.
11. nave._x -=20;

**Error** Scene=Scene 1, layer=Layer 1, frame=1:Line 12: Syntax error.
12. if(Key.isDown(Key.RIGHT) && nave._x <500)

**Error** Scene=Scene 1, layer=Layer 1, frame=1:Line 13: Syntax error.
13. nave._x +=20;

**Error** Scene=Scene 1, layer=Layer 1, frame=1:Line 14: Syntax error.
14. if(Key.isDown(Key.UP) && nave._y >20)

**Error** Scene=Scene 1, layer=Layer 1, frame=1:Line 15: Syntax error.
15. nave._y -=20;

**Error** Scene=Scene 1, layer=Layer 1, frame=1:Line 16: Syntax error.
16. if(Key.isDown(Key.DOWN) && nave._y <330)

**Error** Scene=Scene 1, layer=Layer 1, frame=1:Line 17: Syntax error.
17. nave._y +=20;}

**Error** Scene=Scene 1, layer=Layer 1, frame=1:Line 18: Syntax error.
18. onMouseDown = function()

**Error** Scene=Scene 1, layer=Layer 1, frame=1:Line 19: '{' expected
19. {

**Error** Scene=Scene 1, layer=Layer 1, frame=1:Line 21: Syntax error.
21. _root.cont++;

**Error** Scene=Scene 1, layer=Layer 1, frame=1:Line 22: Syntax error.
22. _root.tiro.duplicateMovieClip(”tiro”+_root.cont,_root.cont,_root.cont); //duplicamos o tiro

**Error** Scene=Scene 1, layer=Layer 1, frame=1:Line 24: Syntax error.
24. _root[”tiro”+_root.cont]._y = nave._y+10;

**Error** Scene=Scene 1, layer=Layer 1, frame=1:Line 25: Syntax error.
25. _root[”tiro”+_root.cont]._x = nave._x+10;

**Error** Scene=Scene 1, layer=Layer 1, frame=1:Line 19: Statement block must be terminated by '}'
19. {

**Error** Scene=Scene 1, layer=Layer 1, frame=1:Line 26: Operator '=' must be followed by an operand
26. }

**Error** Scene=Scene 1, layer=Layer 1, frame=1:Line 6: Statement block must be terminated by '}'
6. {

**Error** Scene=Scene 1, layer=Layer 1, frame=1:Line 26: Syntax error.
26. }

**Error** Symbol=Tiro, layer=Layer 1, frame=1:Line 1: Syntax error.
1. onClipEvent(enterFrame)

**Error** Symbol=Tiro, layer=Layer 1, frame=1:Line 2: '{' expected
2. {

**Error** Symbol=Tiro, layer=Layer 1, frame=1:Line 3: Syntax error.
3. if(_name != “tiro”)//verificação que serve para que sejam executados apenas as cópias do tiro, não o verdadeiro

**Error** Symbol=Tiro, layer=Layer 1, frame=1:Line 4: ')' expected
4. {

**Error** Symbol=Tiro, layer=Layer 1, frame=1:Line 5: Syntax error.
5. this._y-=30;

**Error** Symbol=Tiro, layer=Layer 1, frame=1:Line 6: Syntax error.
6. if(this._y <0)//se o tiro passou do y=0 removemos o tiro

**Error** Symbol=Tiro, layer=Layer 1, frame=1:Line 7: Syntax error.
7. this.removeMovieClip();

**Error** Symbol=Tiro, layer=Layer 1, frame=1:Line 8: Syntax error.
8. if(this.hitTest(_root.inimigo)) //verifica se tiro colidiu com o inimigo

**Error** Symbol=Tiro, layer=Layer 1, frame=1:Line 9: Syntax error.
9. {

**Error** Symbol=Tiro, layer=Layer 1, frame=1:Line 10: Syntax error.
10. _root.inimigo.life=0; //zeramos o life, um tiro só é fatal

**Error** Symbol=Tiro, layer=Layer 1, frame=1:Line 11: Syntax error.
11. this.removeMovieClip(); //sumimos com o tiro da tela

**Error** Symbol=Tiro, layer=Layer 1, frame=1:Line 2: Statement block must be terminated by '}'
2. {

**Error** Symbol=Tiro, layer=Layer 1, frame=1:Line 14: Syntax error.
14. }

**Error** Symbol=Esplosao, layer=Layer 1, frame=1:Line 1: Syntax error.
1. onClipEvent(enterFrame)

**Error** Symbol=Esplosao, layer=Layer 1, frame=1:Line 2: '{' expected
2. {

**Error** Symbol=Esplosao, layer=Layer 1, frame=1:Line 5: Syntax error.
5. if(_name != “explosao”)

**Error** Symbol=Esplosao, layer=Layer 1, frame=1:Line 6: ')' expected
6. {

**Error** Symbol=Esplosao, layer=Layer 1, frame=1:Line 7: Syntax error.
7. if(this._alpha > 0) //serve para dar um efeito de explosão

**Error** Symbol=Esplosao, layer=Layer 1, frame=1:Line 8: Syntax error.
8. this._alpha -= 5;

**Error** Symbol=Esplosao, layer=Layer 1, frame=1:Line 9: Syntax error.
9. else

**Error** Symbol=Esplosao, layer=Layer 1, frame=1:Line 10: Syntax error.
10. this.removeMovieClip();

**Error** Symbol=Esplosao, layer=Layer 1, frame=1:Line 2: Statement block must be terminated by '}'
2. {

**Error** Symbol=Esplosao, layer=Layer 1, frame=1:Line 12: Syntax error.
12. }

**Error** Scene=Scene 1, layer=Layer 1, frame=1:Line 1: Syntax error.
1. onClipEvent(enterFrame)

**Error** Scene=Scene 1, layer=Layer 1, frame=1:Line 2: '{' expected
2. {

**Error** Scene=Scene 1, layer=Layer 1, frame=1:Line 4: Syntax error.
4. if(life<=0)

**Error** Scene=Scene 1, layer=Layer 1, frame=1:Line 5: Syntax error.
5. {

**Error** Scene=Scene 1, layer=Layer 1, frame=1:Line 6: Syntax error.
6. _root.cont2++;

**Error** Scene=Scene 1, layer=Layer 1, frame=1:Line 8: Syntax error.
8. _root.explosao.duplicateMovieClip(”explode”+_root.cont2, _root.cont2,_root.cont2); _root[”explode”+_root.cont2]._x = this._x;

**Error** Scene=Scene 1, layer=Layer 1, frame=1:Line 9: Syntax error.
9. _root[”explode”+_root.cont2]._y = this._y;

**Error** Scene=Scene 1, layer=Layer 1, frame=1:Line 10: Syntax error.
10. this._x = random(300); //o inimigo volta numa posição randômica

**Error** Scene=Scene 1, layer=Layer 1, frame=1:Line 11: Syntax error.
11. this._y = -150;

**Error** Scene=Scene 1, layer=Layer 1, frame=1:Line 12: Syntax error.
12. this.life = 100; //voltamos o life do inimigo

**Error** Scene=Scene 1, layer=Layer 1, frame=1:Line 14: Syntax error.
14. else

**Error** Scene=Scene 1, layer=Layer 1, frame=1:Line 15: Syntax error.
15. {

**Error** Scene=Scene 1, layer=Layer 1, frame=1:Line 16: Syntax error.
16. this._y+=10; //avança o inimigo em sua direção

**Error** Scene=Scene 1, layer=Layer 1, frame=1:Line 17: Syntax error.
17. if(this._y > 300) //verifica se o inimigo ultrapassou o limite máximo da tela

**Error** Scene=Scene 1, layer=Layer 1, frame=1:Line 18: Syntax error.
18. {

**Error** Scene=Scene 1, layer=Layer 1, frame=1:Line 22: Syntax error.
22. this._y = -20;

**Error** Scene=Scene 1, layer=Layer 1, frame=1:Line 23: Syntax error.
23. this.removeMovieClip();

**Error** Scene=Scene 1, layer=Layer 1, frame=1:Line 2: Statement block must be terminated by '}'
2. {

**Error** Scene=Scene 1, layer=Layer 1, frame=1:Line 26: Syntax error.
26. }

Total ActionScript Errors: 66 Reported Errors: 66


O q q eu fiz de errado?
0

Share this topic:


  • 2 Pages +
  • 1
  • 2
  • You cannot start a new topic
  • You cannot reply to this topic



Publicidade




1 User(s) are reading this topic
0 membro(s), 1 visitante(s) e 0 membros anônimo(s)