Как сделать задержку между выстрелами?

Общие вопросы о Unity3D

Как сделать задержку между выстрелами?

Сообщение grgl4 24 июн 2023, 08:47

Мне нужно сделать задержку между выстрелами. Я уже читал пост на этом форуме но не работает(
Вот код:

Синтаксис:
Используется csharp
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Bullet : MonoBehaviour
{
    private Rigidbody2D rb;
    private GameObject player;
    public float damage;
    public float speed;
    private float timer;
    public float timeToAttack = 4f;
    void Start()
    {
        rb = GetComponent<Rigidbody2D>();
        player = GameObject.FindGameObjectWithTag("Enemy");
    }
    // Update is called once per frame
    void Update()
    {
        timer -= Time.deltaTime;
        if (timer <= 0f)
        {
            Attack();
        }
    }
    private void Attack()
    {
        timer = timeToAttack;
        Vector2 derection = player.transform.position - transform.position;
        rb.velocity = new Vector2(derection.x, derection.y).normalized * speed;

        float rot = Mathf.Atan2(-derection.x, -derection.y) * Mathf.Rad2Deg;
        transform.rotation = Quaternion.Euler(0, 0, rot);
    }
}
 


В итоге у меня просто появляется огромное количество пуль.
Изображение
grgl4
UNец
 
Сообщения: 5
Зарегистрирован: 24 июн 2023, 08:42

Re: Как сделать задержку между выстрелами?

Сообщение Alkos26Rus 24 июн 2023, 13:13

Синтаксис:
Используется csharp
   private void Attack()
    {
        timer = timeToAttack;
        Vector2 derection = player.transform.position - transform.position;
        rb.velocity = new Vector2(derection.x, derection.y).normalized * speed;

        float rot = Mathf.Atan2(-derection.x, -derection.y) * Mathf.Rad2Deg;
        transform.rotation = Quaternion.Euler(0, 0, rot);
    }
 

Где появляются? Тут даже и строки нет на создание пуль. У тебя скорей пули создаются из другого скрипта. И зачем это засовывать в скрипт пули?
Аватара пользователя
Alkos26Rus
Адепт
 
Сообщения: 1642
Зарегистрирован: 26 ноя 2020, 17:52
Откуда: Москва

Re: Как сделать задержку между выстрелами?

Сообщение grgl4 24 июн 2023, 22:13

Извиняюсь. Перепутал 2 файла с кодом. Все работает.
grgl4
UNец
 
Сообщения: 5
Зарегистрирован: 24 июн 2023, 08:42


Вернуться в Общие вопросы

Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot] и гости: 10