Все для Unity3d> как сделать так чтоб враг стрелять только когда в кадре - Форум>
  • Страница 1 из 1
  • 1
Форум » Unity » Вопросы » как сделать так чтоб враг стрелять только когда в кадре (враги)
как сделать так чтоб враг стрелять только когда в кадре
skywoker7508Дата: Пятница, 06.04.2018, 11:01 | Сообщение # 1
Новый писатель
Группа: Пользователи
Статус: Offline
как сделать так чтоб враг начинал стрелять только когда персонаж появляется в кадре?

using UnityEngine; 
using System.Collections; 

public class EnemyShoot : MonoBehaviour { 
public float speed = 10; // скорость пули 

public float fireRate = 1; 
//переменная для префаба пули 
public GameObject bullet; 
//задержка между выстрелами 
public float fireDelay; 
//переменная для ссылки на игрока 
GameObject player; 
public GameObject Enemy; 
//бинарная переменная для разрешения стрельбы 
bool canShoot = true; 
public float force; 

Rigidbody2D rb; 
//выполнится один раз 
void Start () { 
//поиск объекта с тэгом "Player" и создание ссылки на него 
player = GameObject.FindWithTag ("Player"); 


//выполняется каждый кадр 
void Update () { 
//проверка: есть-ли игрок в сцене и можно-ли стрелять 
if (canShoot && player != null) { 
//запрет стрельбы для следующей проверки 
canShoot = false; 
//спавн пули на позиции врага 
Instantiate (bullet, transform.position, Quaternion.identity); 
//запуск функции задержки стрельбы 
StartCoroutine (firePause()); 



//старт корутины 
IEnumerator firePause () { 
//пауза исполнения на указанное время 
yield return new WaitForSeconds (fireDelay); 
//возможность стрельы при следующей проверке 
canShoot = true; 

}


Сообщение отредактировал skywoker7508 - Суббота, 07.04.2018, 13:54
 
Форум » Unity » Вопросы » как сделать так чтоб враг стрелять только когда в кадре (враги)
  • Страница 1 из 1
  • 1
Поиск:
Правила чата
Управление сообщениями
Мини-чат
+Мини-чат
0
ТОП-5 САЙТА
НОВЫЕ ИГРЫ
ГОРЯЧИЕ ТЕМЫ
СЛУЧАЙНЫЕ ФАЙЛЫ