Вот скрипт стрельбы -
Синтаксис:
Используется csharp
public int Ammo;
public int MaxAmmo;
public int HaveAmmo;
public GameObject Bullet;
public Transform BulletSpawn;
public float CountdownTime;
public bool InCountdown;
void Start()
{
Ammo = MaxAmmo;
}
void Update()
{
if(Ammo > 0 && Input.GetButtonDown("Fire") && !InCountdown)
{
Shot();
}
}
void Shot()
{
Instantiate(Bullet, BulletSpawn.position, BulletSpawn.rotation);
Ammo--;
StartCoroutine(ShotCountdown());
}
IEnumerator ShotCountdown()
{
InCountdown = true;
yield return new WaitForSeconds(CountdownTime);
InCountdown = false;
}
public int MaxAmmo;
public int HaveAmmo;
public GameObject Bullet;
public Transform BulletSpawn;
public float CountdownTime;
public bool InCountdown;
void Start()
{
Ammo = MaxAmmo;
}
void Update()
{
if(Ammo > 0 && Input.GetButtonDown("Fire") && !InCountdown)
{
Shot();
}
}
void Shot()
{
Instantiate(Bullet, BulletSpawn.position, BulletSpawn.rotation);
Ammo--;
StartCoroutine(ShotCountdown());
}
IEnumerator ShotCountdown()
{
InCountdown = true;
yield return new WaitForSeconds(CountdownTime);
InCountdown = false;
}
Скрипт пули -
Синтаксис:
Используется csharp
public float Speed;
public void FixedUpdate()
{
gameObject.GetComponent<Rigidbody>().AddForce(Vector3.forward * Speed);
}
public void FixedUpdate()
{
gameObject.GetComponent<Rigidbody>().AddForce(Vector3.forward * Speed);
}
Почему пули летят в одну сторону, а не в направлении игрока?
Вот демонстрация - https://imgur.com/a/oY914