Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using UnityEngine;
- using System.Collections;
- //SCRIPT POR LEANDRO NUCCI.
- //APENAS MODIFIQUE SE SOUBER COMO USALO, NAO TEM NECESSIDADE DE FICAR ARRASTANDO OS BULLETS PRO SCRIPT
- //TENHA CERTEZA QUE CRIOU A PASTA 'Resources/Bullet' E QUE DENTRO DESTA PASTA TENHA PELO MENOS 4 BULLETS DEFINIDO COM OS SEGUINTES NOMES:
- // -Bullet1, Bullet2, Bullet3, Bullet4 E TENHA UM GAMEOBJECT CHAMADO Muzzle EM CENA.
- //ESTE SCRIPT CRIA AS BALAS, A DESTROI E PROCURA AS REFERENCIAS DE FORMA AUTOMATICA.
- //ENUM DEFINE OS TIPOS DE TIRO
- public enum Tiro {
- TiroDefault,
- Tiro2,
- Tiro3
- }
- public class Estudos : MonoBehaviour {
- private int Bullets; //RAIZ DO SWITCH, AUMENTE CASO QUEIRA ADICIONAR UPGRADES, APENAS MODIFIQUE SE SOUBER COMO FAZER
- public Tiro current_Bullet; //COMPARA O VALOR DA VARIAVEL COM O ENUM E DEFINE O BULLET A SER INSTANCIADO
- private int i; //INDEXADOR PARA COMPARAR E DEFINIR O BULLET ATUAL
- private Rigidbody Bullet; //BULLET ACESS;
- private Transform Muzzle; //MUZZLE POSITION;
- void Start () {
- Bullets = 1; //RAIZ DO SWITCH, AUMENTE CASO QUEIRA ADICIONAR UPGRADES, APENAS MODIFIQUE SE SOUBER COMO FAZER
- i = 1; //DEFINE O TIRO QUANDO COMEÇA COMO DEFAULT
- Muzzle = GameObject.Find ("Muzzle").transform; //PROCURA NA HIERARQUIA UM TRANSFORM CHAMADO "Muzzle" PARA DEFINIR DE ONDE O TIRO SAIRA
- }
- void Update () {
- if(Input.GetKeyDown(KeyCode.Space)){ //INSTANCIA O TIRO
- Shot(); //CHAMA O TIRO
- }
- // DEFINE A BALA PELO ENUM
- switch (Bullets){
- case 1:
- if(current_Bullet == Tiro.TiroDefault){ //DEFINE O TIRO ATUAL
- i = 1;
- }else if(current_Bullet == Tiro.Tiro2){
- i = 2;
- }else if(current_Bullet == Tiro.Tiro3){
- i = 3;
- }
- break;
- default:
- i = 1; //DEFINE O BULLET DEFAULT
- break;
- }
- }
- void ReloadBullet () {
- //ATUALIZA A BULLET CADA VEZ QUE CHAMADO
- Bullet = Resources.Load ("Bullets/Bullet" + i, typeof(Rigidbody)) as Rigidbody;
- }
- void Shot () {
- //ATIRA
- ReloadBullet(); //ATUALIZA O BULLET
- Rigidbody go = Instantiate (Bullet, Muzzle.position, Muzzle.rotation) as Rigidbody; //CRIA A BULLET
- go.AddForce(Vector3.forward * 2000); //ADICIONA FORÇA NA BULLLET
- Destroy(go.gameObject, 5); //DESTROY A BULLET DEPOIS DE 5 SEGUNDOS
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement