#9 – Стрельба по машинкам и уничтожение

#9 – Стрельба по машинкам и уничтожение

Сейчас в игре есть наши и вражеские автомобили. За урок вы опишите функционал для стрельбы машинок друг по другу. Машинки будут стрелять автоматически в зависимости от расстояния между ними. Также вы реализуете попадания и уничтожения автомобилей.

Видеоурок

Материалы для курса

Чтобы скачивать материалы к видеокурсам необходимо оформить подписку на сайт

Задание к уроку

Необходимо оформить подписку на проект, чтобы получить доступ ко всем домашним заданиям

Большое задание по курсу

Вам необходимо оформить подписку на сайте, чтобы иметь доступ ко всем большим заданиям. В задание входит методика решения, а также готовый проект с ответом к заданию.
PS: подобные задания доступны при подписке от 1 месяца

Также стоит посмотреть

Создание 2D игры на Android
17 уроков
Создание простой 3D игры в Unity
9 уроков
Создание игр на Unity | Для начинающих
9 уроков
Разработка игры на Unity
9 уроков
Создание различных игр на Unity
7 уроков
Разработка мобильной игры на Unity
9 уроков
Комментарии (2)
Добавить комментарий

Максим 03 декабря 2023 в 10:57

Добрый день!
Итоговый код не работает корректно.
Во-первых, не получается поставить на карту Дом.
Во-вторых, не генерируются враги.
Выдается ошибка: "Tag: Enemy is not defined".
Можно получить рабочий код?
Ответить

Дима 22 сентября 2023 в 14:33

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

public class CArAttack : MonoBehaviour
{
public float radius = 40f;
public GameObject bullet;
private Coroutine _coroutine = null;
private void Update()
{
DetectCollistion();
}

private void DetectCollistion()

{
Collider[] hitColliders = Physics.OverlapSphere(transform.position, radius);

if (hitColliders.Length == 0)
{
StopCoroutine(_coroutine);
_coroutine = null;
}

foreach (var el in hitColliders)
{
if ((gameObject.CompareTag("Player") && el.gameObject.CompareTag("Enemy")) ||
(gameObject.CompareTag("Enemy") && el.gameObject.CompareTag("Player")))
{
if (gameObject.CompareTag("Enemy"))
GetComponent<UnityEngine.AI.NavMeshAgent>().SetDestination(el.transform.position);

if(_coroutine == null)
_coroutine = StartCoroutine(StartAttack(el));


}
}
}

IEnumerator StartAttack(Collider enemyPos)
{
while (true)
{
GameObject obj = Instantiate(bullet, transform.GetChild(1).position, Quaternion.identity);
obj.GetComponent<BulletController>().position = enemyPos.transform.position;
yield return new WaitForSeconds(1f);
}
можно пожалуйста рабочий код
Ответить