Você está na página 1de 4

Aula 2: Instanciar

GameObjects
Instanciando um Objeto em Tempo de Execuo

Antes de comear a desenvolver um projeto com Unity, uma boa prtica


estruturar os diretrios do projeto. Crie as seguintes pastas:

Para criar um Script em C#:


1. Na pasta Scripts clique com o boto direito, abrir uma tela.
Selecione Create> C# Script.
2. Digite o nome do Script.

Mtodo para instanciar um GameObject

1. Instantiate(GameObject, position Vector3, rotation Quaternion)

Exemplo 1:
using UnityEngine;
using System.Collections;

public class Exemp1 : MonoBehaviour {

public GameObject obj;

// Use this for initialization


void Start () {

Instantiate(obj, new Vector3(0, 0, 0), Quaternion.identity);

// Update is called once per frame


void Update () {

}
}
Exemplo 2:
using UnityEngine;
using System.Collections;

public class Exemp1 : MonoBehaviour {

public GameObject obj;

// Use this for initialization


void Start () {

for (int i = 0; i < 10; i++)


{
Instantiate(obj, new Vector3(i * 2.0f, 0, 0), Quaternion.identity);
}

// Update is called once per frame


void Update () {

}
}

Exemplo 3:
using UnityEngine;
using System.Collections;

public class Exemp1 : MonoBehaviour


{
public GameObject Cubes;

void Start()
{
GameObject go = (GameObject)Instantiate(Cubes, new Vector3(0, 0, 0),
transform.rotation);
}

void Update()
{

}
}
Explicao em Aula

1. Dentro da pasta Script, crie um script C# com o nome: CreateWall

Script CreateWall:
using UnityEngine;
using System.Collections;

public class CreateWall : MonoBehaviour {

public GameObject Cubes;


public int altura;
public int largura;

void Start () {
createWall(altura, largura);
}

void Update () {

void createWall(int altura, int largura)


{
if(altura > 0 || largura > 0)
{
for(int i=0; i < largura; i++)
{
for(int j=0; j < altura; j++)
{
GameObject go = (GameObject)Instantiate(Cubes, new Vector3(i, j, 0),
transform.rotation);
}
}
}
}
}
2. Dentro da pasta Scripts crie um script C# com o nome: AtirarBola
Script AtirarBola:
using UnityEngine;
using System.Collections;

public class AtirarBola : MonoBehaviour {

public GameObject bola;

public GameObject arma;

public float forcaDeLancamento = 1f;

// Use this for initialization


void Start () {
}

// Update is called once per frame


void Update ()
{
if(Input.GetMouseButtonDown(0))
{
GameObject bolaTemporaria = (GameObject)Instantiate(bola,
arma.transform.position, arma.transform.rotation);
Rigidbody corpoBola = bolaTemporaria.GetComponent<Rigidbody>();
corpoBola.AddForce(transform.forward * forcaDeLancamento);
Destroy(bolaTemporaria, 10f);
}
}
}

Você também pode gostar