Advertisement
Guest User

Bullet

a guest
Oct 25th, 2014
188
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.39 KB | None | 0 0
  1. using UnityEngine;
  2. using System.Collections;
  3.  
  4. //SCRIPT POR LEANDRO NUCCI.
  5. //APENAS MODIFIQUE SE SOUBER COMO USALO, NAO TEM NECESSIDADE DE FICAR ARRASTANDO OS BULLETS PRO SCRIPT
  6. //TENHA CERTEZA QUE CRIOU A PASTA 'Resources/Bullet' E QUE DENTRO DESTA PASTA TENHA PELO MENOS 4 BULLETS DEFINIDO COM OS SEGUINTES NOMES:
  7. // -Bullet1, Bullet2, Bullet3, Bullet4 E TENHA UM GAMEOBJECT CHAMADO Muzzle EM CENA.
  8. //ESTE SCRIPT CRIA AS BALAS, A DESTROI E PROCURA AS REFERENCIAS DE FORMA AUTOMATICA.
  9.  
  10.  
  11. //ENUM DEFINE OS TIPOS DE TIRO
  12.  
  13. public enum Tiro {
  14.  
  15.     TiroDefault,
  16.     Tiro2,
  17.     Tiro3
  18.  
  19. }
  20.  
  21. public class Estudos : MonoBehaviour {
  22.  
  23.     private int          Bullets;                   //RAIZ DO SWITCH, AUMENTE CASO QUEIRA ADICIONAR UPGRADES, APENAS MODIFIQUE SE SOUBER COMO FAZER
  24.     public  Tiro         current_Bullet;            //COMPARA O VALOR DA VARIAVEL COM O ENUM E DEFINE O BULLET A SER  INSTANCIADO
  25.     private int          i;                         //INDEXADOR PARA COMPARAR E DEFINIR O BULLET ATUAL
  26.     private Rigidbody    Bullet;                    //BULLET ACESS;
  27.     private Transform    Muzzle;                    //MUZZLE POSITION;
  28.    
  29.     void Start () {
  30.         Bullets = 1;                                        //RAIZ DO SWITCH, AUMENTE CASO QUEIRA ADICIONAR UPGRADES, APENAS MODIFIQUE SE SOUBER COMO FAZER
  31.         i = 1;                                              //DEFINE O TIRO QUANDO COMEÇA COMO DEFAULT
  32.         Muzzle = GameObject.Find ("Muzzle").transform;      //PROCURA NA HIERARQUIA UM TRANSFORM CHAMADO "Muzzle" PARA DEFINIR DE ONDE O TIRO SAIRA
  33.  
  34.     }
  35.    
  36.  
  37.     void Update () {
  38.  
  39.  
  40.         if(Input.GetKeyDown(KeyCode.Space)){                //INSTANCIA O TIRO
  41.        
  42.             Shot();                                         //CHAMA O TIRO
  43.  
  44.         }
  45.  
  46.         // DEFINE A BALA PELO ENUM
  47.         switch (Bullets){
  48.         case 1:
  49.  
  50.             if(current_Bullet == Tiro.TiroDefault){                 //DEFINE O TIRO ATUAL
  51.                 i = 1;                 
  52.                    
  53.             }else if(current_Bullet == Tiro.Tiro2){                                
  54.                 i = 2;
  55.  
  56.             }else if(current_Bullet == Tiro.Tiro3){
  57.                 i = 3;
  58.  
  59.             }
  60.  
  61.             break;
  62.             default:
  63.             i = 1;                                                  //DEFINE O BULLET DEFAULT
  64.             break;
  65.         }
  66.  
  67.     }
  68.  
  69.  
  70.     void ReloadBullet () {
  71.  
  72.         //ATUALIZA A BULLET CADA VEZ QUE CHAMADO
  73.  
  74.         Bullet = Resources.Load ("Bullets/Bullet" + i, typeof(Rigidbody)) as Rigidbody;
  75.  
  76.     }
  77.  
  78.     void Shot () {
  79.  
  80.         //ATIRA
  81.  
  82.         ReloadBullet();     //ATUALIZA O BULLET
  83.         Rigidbody go =  Instantiate (Bullet, Muzzle.position, Muzzle.rotation) as Rigidbody; //CRIA A BULLET
  84.         go.AddForce(Vector3.forward * 2000);                                                 //ADICIONA FORÇA NA BULLLET
  85.         Destroy(go.gameObject, 5);                                                           //DESTROY A BULLET DEPOIS DE 5 SEGUNDOS
  86.     }
  87. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement