Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Вопрос по юнити

Николай Минаев Профи (826), на голосовании 4 месяца назад
я делаю код для оружия в игре и он делает бесконечные копии объекта, а мне надо чтобы эти объекты через некоторое расстояние или время исчезали

вот код
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class gunscript : MonoBehaviour
{
public Transform bullet;
public int BulletForce = 5000;
public int Magaz = 30;
public AudioClip Fire;
public AudioClip Reload;

void Update()
{
if (Input.GetMouseButtonDown(0) & Magaz > 0)
{
Transform BulletInstance = (Transform)Instantiate(bullet, GameObject.Find("Spawnpistols").transform.position, Quaternion.identity);
BulletInstance.GetComponent<Rigidbody>().AddForce(transform.forward * BulletForce);
Magaz = Magaz - 1;
GetComponent<AudioSource>().PlayOneShot(Fire);
GetComponent<AudioSource>().PlayOneShot(Reload);

}
if (Input.GetKeyDown(KeyCode.R))
{
Magaz = 30;

}
}
}
Голосование за лучший ответ
temka game killer Мыслитель (9072) 5 месяцев назад
Вот такой скрипт например можно написать.

 using System; 
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Des : MonoBehaviour {


private int i = 0;
public int timer = 100;



// Use this for initialization
void Start () {


}

// Update is called once per frame
void Update () {

i++;

if (i == timer)
{

Destroy(gameObject);

}




}
}
и повесить его на игровой объект, чтобы он через 100 секунд уничтожился.
Shaxmerdenov NabiЗнаток (405) 5 месяцев назад
i будет увеличиваться каждый кадр, а не секунду
temka game killerМыслитель (9072) 5 месяцев назад
Да каждый кадр а не одну секунду вы правы
Похожие вопросы