using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class bullet : MonoBehaviour
{
float bulletsDistance;
[SerializeField] Rigidbody2D bulletPrefab;
[SerializeField] float bulletSpeed = 15f;
enemyController enemyController;
float scaleX;
public void Initialize(enemyController enemyController)
{
// Procurar o objeto do jogador no cenário e atribuir seu transform
this.Player = GameObject.FindGameObjectWithTag("Player").transform;
// Procurar o objeto do inimigo no cenário e atribuir o componente enemyController
this.enemyController = GameObject.FindGameObjectWithTag("Enemy").GetComponent();
this.bulletTransform = GameObject.FindGameObjectWithTag("BulletTransform").transform;
}
void Start()
{
bulletsDistance = 0.2f;
// Debug.Log(enemyController);
}
void Update()
{
Destroy(gameObject, bulletsDistance);
}
private void OnCollisionEnter2D(Collision2D collision) {
if(enemyController != null) {
if(collision.collider.tag == "Enemy") {
Debug.Log(enemyController.enemyHealth);
enemyController.enemyHealth--;
Destroy(gameObject);
}
}
}
}
Моя цель — уменьшать переменное вражеское здоровье внутри gameObecjet под названием Enemy каждый раз, когда префаб вступает в конфликт. Но когда я отлаживаю его на консоли, нужный мне компонент (enemyController) всегда имеет значение null.
У меня есть префаб под названием Bullet и в нем есть этот скрипт. [code]using System.Collections; using System.Collections.Generic; using UnityEngine;
public class bullet : MonoBehaviour { float bulletsDistance;
[SerializeField] Rigidbody2D bulletPrefab; [SerializeField] float bulletSpeed = 15f; enemyController enemyController; float scaleX; public void Initialize(enemyController enemyController) { // Procurar o objeto do jogador no cenário e atribuir seu transform this.Player = GameObject.FindGameObjectWithTag("Player").transform;
// Procurar o objeto do inimigo no cenário e atribuir o componente enemyController this.enemyController = GameObject.FindGameObjectWithTag("Enemy").GetComponent();
[/code] Моя цель — уменьшать переменное вражеское здоровье внутри gameObecjet под названием Enemy каждый раз, когда префаб вступает в конфликт. Но когда я отлаживаю его на консоли, нужный мне компонент (enemyController) всегда имеет значение null.
Я делаю карточную игру в Unity3d. Я создавал карты как игровые объекты программным способом, используя C#. Я хотел знать, как заставить каждый объект (карточку) перемещаться при нажатии кнопки мыши. Я пробовал использовать коллайдер Raycast, но он...
Я делаю карточную игру в Unity3d. Я создавал карты как игровые объекты программным способом, используя C#. Я хотел знать, как заставить каждый объект (карточку) перемещаться при нажатии кнопки мыши. Я пробовал использовать коллайдер Raycast, но он...
Я делаю карточную игру в Unity3d. Я создал карты в качестве игровых объектов программно, используя C#. Я хотел знать, как сделать все объекты (карты), чтобы перейти на кнопку мыши, я попробовал с Raycast Collider, но это не работает. Я пытаюсь...
Я делаю карточную игру в Unity3d. Я создал карты в качестве игровых объектов программно, используя C#. Я хотел знать, как сделать все объекты (карты), чтобы перейти на кнопку мыши, я попробовал с Raycast Collider, но это не работает. Я пытаюсь...