@DuckU

Unity 2D, код выдаёт ошибку error CS1503: Argument 2: cannot convert from 'UnityEngine.Transform' to 'UnityEngine, что делать?

Код создаёт пулю, но когда я дописал transform.rotation Юнити стала выдавать ошибку:

error CS1503: Argument 2: cannot convert from 'UnityEngine.Transform' to 'UnityEngine.Vector3'

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

public class Gun : MonoBehaviour
{
    public GameObject bullet;
    public Transform shotPoint;

    public float Ofset;

    void Start()
    {
        
    }


    void Update()
    {
        Vector3  diference = Camera.main.ScreenToWorldPoint(Input.mousePosition) - transform.position ;
        float rotateZ = Mathf.Atan2(diference.y, diference.x) * Mathf.Rad2Deg ;
        transform.rotation = Quaternion.Euler(0f, 0f, rotateZ + Ofset);

        if (Input.GetMouseButton(1))
        {
            Instantiate(bullet, shotPoint, transform.rotation);
        }
    }
}
  • Вопрос задан
  • 297 просмотров
Решения вопроса 1
vabka
@vabka Куратор тега C#
Токсичный шарпист
Метод Instantiate вторым аргументом принимает Vector3, а ты передаёшь Transform.
https://docs.unity3d.com/2022.1/Documentation/Scri...
Передавай Vector3 либо используй другую перегрузку (например перегрузка с двумя аргументами как раз принимает Transform)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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