Страница обучающего курса: Space Shooter tutorial
Курс написан для Unity 4.x, поэтому для Unity 5.x пришлось переписывать почти все скрипты. Кое-что я добавил свое (например поддержку игрового контроллера и «режим бога», чтобы легче было отлаживать). Режим отладки включается только чекбоксом из Unity Editor, при этом в консоль выводятся данные через Debug.Log. Помимо этого в игре реализована Пауза. Отдельное замечу, что все исправленные скрипты работают с расширенной версией урока, поэтому скорее всего не подойдут для первых уроков, где еще нет некоторых элементов типа вражеских кораблей, подвижного фона и т.п.
Скрипт DestroyByContact.cs:
using UnityEngine;
using System.Collections;
public class DestroyByContact : MonoBehaviour
{
public GameObject explosion;
public GameObject playerExplosion;
public int scoreValue;
private GameController gameController;
void Start()
{
GameObject gameControllerObject = GameObject.FindWithTag("GameController");
if (gameControllerObject != null)
{
gameController = gameControllerObject.GetComponent<GameController>();
}
if (gameController == null)
{
Debug.Log("Can not find 'GameController' script");
}
}
void OnTriggerEnter(Collider other)
{
if (gameController.debugMode)
{
Debug.Log(other.name+"("+other.tag+"->OnTriggerEnter");
}
if (other.CompareTag ("Boundary") || other.CompareTag("Enemy"))
{
return;
}
if (explosion != null)
{
Instantiate(explosion, transform.position, transform.rotation);
}
if (other.CompareTag("Player") && !gameController.godMode)
{
Instantiate(playerExplosion, other.transform.position, other.transform.rotation);
}
gameController.AddScore(scoreValue);
if (other.CompareTag("Player") && !gameController.godMode)
{
Destroy(other.gameObject);
gameController.GameOver();
}
else if (other.CompareTag("Player") && gameController.godMode)
{
//Destroy(other.gameObject);
}
Destroy(gameObject);
gameController.AddScore(scoreValue);
}
}
DenTNT недавно публиковал (посмотреть все)
- Не приходит СМС для авторизации на сайте Госуслуги - 01.11.2024
- VSCode: Найти и удалить элементы xml - 29.10.2024
- WordPress: Ошибка в плагине WpDiscuz - 08.10.2024