Continuando…

Agora é só selecionar o inimigo, duplicar ele ( Ctrl+D ) e espalha-lo pelo cenário.
Guias
- Vamos agora criar os inimigos, na verdade vamos criar um e duplicá-lo.
- Crie um cubo para ser o inimigo, scale-o até o tamanho que vc achar ideal para o inimigo, adicione o componente rigidBory nele,marque Frezze rotation e coloque a massa como 90, nos post anteriores mostrei como fazer isto.
- Crie um novo javaScript, renomei-o para inimigo e cole o código abaixo nele.
//personagem var personagem : Transform; //Velocidade do tiro var velTiro = 150.0; //Obj bala var balaObj : GameObject; //Var para resetar private var posIni:Vector3; function Start(){ //Pega posição para resetar posIni = transform.position; mudaLado(); Auto(); } function reseta(){ transform.position = posIni; } //Se levou um tiro morre function OnCollisionEnter (collision : Collision) { //Se levou um tiro morre if(collision.gameObject.tag == "bala"){ Destroy(gameObject); } } function FixedUpdate () { //Se estiver longe do personagem anda var pos = transform.position - personagem.position; //print(pos.magnitude); if(pos.magnitude > 200) transform.Translate(Vector3.forward * Time.deltaTime * 15); //Longe do cenario reseta if(transform.position.x > 1800 || transform.position.x < 200 || transform.position.z > 1800 || transform.position.z < 200){ reseta(); } } function mudaLado(){ while(active){ //Sorteia um novo lado para andar var ladoSorteado = Random.Range(-180,180); transform.eulerAngles = Vector3(0, ladoSorteado, 0); yield WaitForSeconds(8); } } function Auto(){ //Verifica se esta proximo ao jogador, caso sim ele vira para ele e atira while(active){ var pos = transform.position - personagem.position; //print(pos.magnitude); if(pos.magnitude < 200){ transform.LookAt(personagem); Atira(); } yield WaitForSeconds(Random.Range(0,3)); } } function Atira () { //Função que atira no personagem var bala = Instantiate(balaObj,transform.position,transform.rotation); //GameObject.CreatePrimitive(PrimitiveType.Sphere); bala.tag = "balaIni"; bala.AddComponent(Rigidbody); bala.rigidbody.velocity = (transform.forward * velTiro); bala.rigidbody.mass = 1; }
|
- Coloque este script no inimigo que vc criou( cubo ), e nas propriedades (Janela Inspector ) carregue os parâmtros com os seguintes dados:
- Personagem: Arraste o personagem até este campo.
- BalaObj: Arraste o Prefab da Bala até este campo.

Agora é só selecionar o inimigo, duplicar ele ( Ctrl+D ) e espalha-lo pelo cenário.
- Vamos agora criar mais um javaScript, desta vez para controlar a vida do personagem, crie, renomeio para vida e cole o código abaixo:
//Life private var vida:int = 100; //Arma para ser retirada quandomorre var arma : GameObject; function OnCollisionEnter (collision : Collision) { //Se foi atingido retira vida if(collision.gameObject.tag == "balaIni"){ Destroy(collision.gameObject); vida-=10; verifica(); } } function verifica(){ //Verifica se morreu, caso sim reinicia o jogo if(vida <= 0){ gameObject.GetComponent("mov_personagem").enabled = false; Destroy(arma); yield WaitForSeconds(5); Application.LoadLevel(0); } } function OnGUI () { //Mostra a vida na tela if(vida > 0){ GUILayout.Label("Vida: "+vida); }else{ GUILayout.Label("Game Over"); } }
|
- Coloque este script no personagem.
- No parâmetro arma arraste a arma que esta conectada a Main Camera para que quando o personagem morrer a arma possa ser retirada.
Pronto!
Se você chegou até aqui ja deve ter o jogo rodando, agora vc pode adicionar mais elementos como som por exemplo ( é só arrastar o som para dentro da janela Project e depois arrastar para o objeto) e outros objetos para cena.
Sem Comentários
Postar um comentário