Como utilizo o laço for no limite de instanciamento de um objeto?
2 participantes
Página 1 de 1
Como utilizo o laço for no limite de instanciamento de um objeto?
qro fazer com q so um objeto seja instanciado em cana
quando eu clico no botao direito do mouse
e que ele so possa ser instanciado novamente quando
o objeto nao estiver mais em cena
ou seja
atraves do destroy
scripts:
no script do instanciamento tentei o laço for
so q nao consegui
script do destroy do gameobject
quando eu clico no botao direito do mouse
e que ele so possa ser instanciado novamente quando
o objeto nao estiver mais em cena
ou seja
atraves do destroy
scripts:
no script do instanciamento tentei o laço for
so q nao consegui
- Código:
var QUADRADO:Transform;
function Start () {
}
function Update () {
if(Input.GetButtonDown("Fire1")){
for(var i:int=0; i<1;i++){
Instantiate(QUADRADO,transform.position,transform.rotation);
}
}
}
script do destroy do gameobject
- Código:
var VELOCIDADE=3;
function Start () {
}
function Update () {
transform.Translate(0,VELOCIDADE*Time.deltaTime*-1,0);
if(transform.position.y<=-5){
Destroy(gameObject);
}
}
danyllo106- Avançado
- PONTOS : 3521
REPUTAÇÃO : 7
Idade : 27
Respeito as regras :
Re: Como utilizo o laço for no limite de instanciamento de um objeto?
o que vc tem que fazer e uma variável que guarde o total de objetos instanciados
basta acessar esse script que contem a quantidade de objetos e subtrair 1 na hora de destruir
- Código:
var square : Transform;
var amount : int;
var amountMax : int;// total máximo de objetos
function Start()
{
}
function Update()
{
if (Input.GetButtonDown("Fire1") && amount <= amountMax)
{
Instantiate(square, transform.position, transform.rotation);
amount++;
}
}
basta acessar esse script que contem a quantidade de objetos e subtrair 1 na hora de destruir
Última edição por weslleyFx em Qui Abr 28, 2016 7:28 pm, editado 1 vez(es)
Weslley- Moderador
- PONTOS : 5726
REPUTAÇÃO : 744
Idade : 26
Áreas de atuação : Inversión, Desarrollo, Juegos e Web
Respeito as regras :
danyllo106- Avançado
- PONTOS : 3521
REPUTAÇÃO : 7
Idade : 27
Respeito as regras :
Re: Como utilizo o laço for no limite de instanciamento de um objeto?
nesse script abaixo,
como eu posso limitar ele
eu boto em cena
e invez dele gerar no maximo 5 objetos
ele fica gerando infinitos
como eu posso limitar ele
eu boto em cena
e invez dele gerar no maximo 5 objetos
ele fica gerando infinitos
- Código:
var QUANTIDADE=0;
var QUANTMAX=5;
var TORRE:Transform;
function Update(){
if(QUANTIDADE<=QUANTMAX){
var position: Vector3 = Vector3(Random.Range(-8.0, 8.0), 0, 0.02);
Instantiate(TORRE,position,transform.rotation);
QUANTIDADE++;
}
}
danyllo106- Avançado
- PONTOS : 3521
REPUTAÇÃO : 7
Idade : 27
Respeito as regras :
Re: Como utilizo o laço for no limite de instanciamento de um objeto?
danyllo106 escreveu:nesse script abaixo,
como eu posso limitar ele
eu boto em cena
e invez dele gerar no maximo 5 objetos
ele fica gerando infinitos
- Código:
var QUANTIDADE=0;
var QUANTMAX=5;
var TORRE:Transform;
function Update(){
if(QUANTIDADE<=QUANTMAX){
var position: Vector3 = Vector3(Random.Range(-8.0, 8.0), 0, 0.02);
Instantiate(TORRE,position,transform.rotation);
QUANTIDADE++;
}
}
axo q axei o erro
a quantidade nesse script sempre sera menor q a quantmax
deve ser por isso q ele fica gerando infinitamente
nesse caso
como eu faço pra que ele gere um numero aleatorio de objetos em cena?
ja q a minha tentativa acima nao deu certo
ps:nao precisa mi ajudar em javascript,pode ser em c#
nao precisa ser o numero 5,pode ser um numero aleatorio q sera iniciado no inicio da cena
no caso a quantidade max sera 5
e a minima 1
danyllo106- Avançado
- PONTOS : 3521
REPUTAÇÃO : 7
Idade : 27
Respeito as regras :
Re: Como utilizo o laço for no limite de instanciamento de um objeto?
seria isso que vc quer
- Código:
using UnityEngine;
using System.Collections;
public class Generate : MonoBehaviour
{
public int maxObjects;
public int currentAmountObject;
public bool canGenerate;
public Vector3 position;
public Transform torre;
void Start()
{
maxObjects = Random.Range(1, 5);
canGenerate = true;
}
void Update()
{
if (canGenerate)
{
GenerateObjects();
}
}
private void GenerateObjects()
{
if (currentAmountObject <= maxObjects)// gerar os objetos
{
position = new Vector3(Random.Range(-8.0f, 8.0f), 0, 0.02f);
Instantiate(torre, position, transform.rotation);
currentAmountObject++;
StartCoroutine(CanGenerateController(5));
}
}
private IEnumerator CanGenerateController (float temp)// para controlar se pode ou não instanciar
{
canGenerate = false;
yield return new WaitForSeconds(temp);
canGenerate = true;
}
}
Weslley- Moderador
- PONTOS : 5726
REPUTAÇÃO : 744
Idade : 26
Áreas de atuação : Inversión, Desarrollo, Juegos e Web
Respeito as regras :
Tópicos semelhantes
» Como criar Um limite para rotação de um objeto
» Como por limite na rotação da camera
» Como fazer o objeto emitido pela partícula ser direcionado até outro objeto
» Como fazer para interagir um objeto com um outro objeto [Estilo Granny]
» Como fazer para um objeto não colidir com um "collider" e o outro objeto si
» Como por limite na rotação da camera
» Como fazer o objeto emitido pela partícula ser direcionado até outro objeto
» Como fazer para interagir um objeto com um outro objeto [Estilo Granny]
» Como fazer para um objeto não colidir com um "collider" e o outro objeto si
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos