Эй, ребята, я пытаюсь стрелять с простым кодом
у меня есть 2 класса C # один для движений игрока и один для пули
это класс Bullet Collision
void Start () {
source.clip = clip;
bullet = GetComponent<GameObject>();
rb = GetComponent<Rigidbody2D>();
bulletPos = player.position;
}
// Update is called once per frame
private void OnTriggerEnter2D(Collider2D wallCol)
{
if (wallCol.gameObject.tag == "Wall")
{
Debug.Log("Wall Hited!");
source.Play();
Destroy(bulletPrefab,clip.length);
if (bullet == null)
Instantiate(bulletPrefab, bulletPos, Quaternion.identity);
}
}
public void shoot()
{
rb.velocity = rb.transform.right * bulletSpeed;
}
это класс движения игрока:
void Update()
{
if (Input.GetKeyDown(KeyCode.Mouse0) && haveGlock == true)
{
bc.shoot();
AudioSource.PlayOneShot(GlockClip);
}
}
Я действительно использовал метод стрелок в другом классе, и когда метод вызвал его, покажи мне ссылку на объект, не установленную для экземпляра объекта.
также я перетаскиваю объекты в необходимые публичные переменные
в единстве, но почему это не сработает?
извините за моих плохих английских парней.