Мои снаряды не столкнутся с моими врагами в 2D проекте прокрутки Unity? - PullRequest
0 голосов
/ 19 января 2019

Как следует из названия, я буквально недавно начал изучать Unity, и я практикуюсь, создавая шутер с боковой прокруткой.Я следовал курсу Удеми об этом и (насколько мне известно) я следовал инструкциям наставника к письму, но в тот момент, когда он проверяет его, и он отлично работает, снаряды проходят сквозь моих врагов.

Я немного озадачен на этом этапе, и поэтому я решил опубликовать здесь, чтобы посмотреть, что вы, ребята, думаете.Могу поспорить, что это что-то очень простое, я еще не сделал.

Пожалуйста, посмотрите мой код снаряда ниже:

using UnityEngine; using System.Collections;

public class DestroyEnemyAndProjectile : MonoBehaviour {

public GameObject WhiteExplosion;
public GameObject OrangeExplosion;

void Start()
{

}


void Update()
{

}

void OnCollisionEnter2D (Collision2D tempCollision)
{
    if (tempCollision.gameObject.tag == "Collision")
    {
        spawnParticles(tempCollision.transform.position);

        Destroy(tempCollision.gameObject);
    }

}

void spawnParticles(Vector2 tempPosition)
{
    Instantiate(WhiteExplosion, tempPosition, Quaternion.identity);
    Instantiate(OrangeExplosion, tempPosition, Quaternion.identity);
}
}

Спасибо за вашу помощь!

Я написал вопростем, кто получил ответ, они предположили, что, возможно, снаряд движется слишком быстро, и проверьте, что было прикреплено Rigidbody 2D - оба из которых уже были собраны

Ответы [ 2 ]

0 голосов
/ 20 января 2019

Сначала я хотел бы знать, каково поведение этого сценария в настоящий момент.Вызывается ли метод столкновения, и снаряд все равно проходит сквозь врага?Или метод столкновения вообще не вызывается?

При этом нужно проверить, чтобы убедиться, что столкновение работает,

  • Убедитесь, что снаряд ик противнику прикреплены компоненты Collider2D.
  • Убедитесь, что к снаряду и / или врагу (по крайней мере, одному из них) должно быть прикреплено Rigidbody2D.
  • Убедитесь, чтоСлой снарядов и слой врагов настроены на столкновение в матрице столкновений (Вы можете найти матрицу столкновений в Edit-> ProjectSettings-> Physics)
  • Убедитесь, что враг GameObject имеет свой установленный тегна «Столкновение».

PS: Добро пожаловать в Unity, где подобные проблемы, на самом деле, обычно вызваны чем-то очень простым, что вы, вероятно, пропустили.

0 голосов
/ 19 января 2019

убедитесь, что объект, с которым вы сталкиваетесь, имеет тег "Столкновение" с той же заглавной буквой. Если это не так, вы можете сделать это:

1. Selecting the GameObject to be collided with
2. In the top-right, select the Tag property
3. Add tag, click the plus and type in "Collision"
4. Select the GameObject again, and select the "Collision" tag from the Tag property dropdown

В противном случае, если это не проблема. Убедитесь, что у снаряда есть тип компонента Collider2D, и что у снаряда или объекта, с которым сталкиваются, есть Rigidbody2D.

...