@deti11

Почему пуля не движется в Unity2D?

после того как пуля заспавнилась она не движется и все
private Rigidbody2D rb;

    private float speed = 7f;

    private Transform turret;

    void Start()
    {
        turret = GetComponentInParent<Transform>();

        rb = GetComponent<Rigidbody2D>();

        rb.AddForce(turret.transform.forward * speed);
    }
  • Вопрос задан
  • 76 просмотров
Пригласить эксперта
Ответы на вопрос 1
@Medovochka
Попробуй этот код:

using UnityEngine;

public class Bullet : MonoBehaviour
{
    private Rigidbody2D rb;
    private float speed = 7f;

    void Start()
    {
        rb = GetComponent<Rigidbody2D>();
        rb.velocity = transform.right * speed; // Используем velocity для движения пули
        Destroy(gameObject, 3f); // Уничтожаем пулю через 3 секунды (на ваше усмотрение)
    }
}


Или с rb.AddForce:

using UnityEngine;

public class Bullet : MonoBehaviour
{
    private Rigidbody2D rb;
    private float speed = 7f;

    void Start()
    {
        rb = GetComponent<Rigidbody2D>();
        rb.AddForce(transform.right * speed, ForceMode2D.Impulse); // Используем AddForce для движения пули
        Destroy(gameObject, 3f); // Уничтожаем пулю через 3 секунды (на ваше усмотрение)
    }
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы