3.60M
Category: softwaresoftware

Unity. Работа со скриптами. Загрузка уровней

1.

Работа со скриптами.
Загрузка уровней.

2.

Создайте Terrain с размерами 20*20 и установите char_shadow

3.

Задайте камере настройки: Position– X=0: Y=2; Z=-4

4.

Создайте из кубов замкнутое пространство в виде квадрата и установите в char_shadow

5.

Создайте куб и назовите его Click (нажмите).

6.

GetComponent<Renderer>().material.color = new Color(1, 0, 0);
Задать цвет материалу.

7.

Создадим скрипт меняющий цвет материала объекту Click
Player – игрок, Button - кнопка
Задаём начальный
цвет кнопке
Если персонаж касается
кнопки меняем
её цвет
Если персонаж
покидает кнопку
восстанавливаем
её цвет

8.

Скрипт Game
public class Game : MonoBehaviour {
public GameObject Player;
public GameObject Button;
void Start () {
Button.GetComponent<Renderer>().material.color = new Color(1, 0, 0);
}
void Update () {
}
void OnTriggerEnter(Collider other)
{
if (other.tag == "Button")
{
Button.GetComponent<Renderer>().material.color = new Color(0, 1, 0);
}
}
void OnTriggerExit(Collider other)
{
if (other.tag == "Button")
{
Button.GetComponent<Renderer>().material.color = new Color(1, 0, 0);
}
}
}

9.

Устанавливаем скрипт на char_shadow и проверяем его работоспособность

10.

Проверяем скрипт

11.

Установите объект Click на Terrain, значение по Y необходимо выставить на 0.5

12.

Изменим поведении объекта Click, сделаем так, что бы при взаимодействии с ним происходило его нажатие.
Опускаем кнопку
на 0.75
Возвращаем кнопку
на первоначальную позицию

13.

Скрипт Game
using UnityEngine;
using System.Collections;
public class Game : MonoBehaviour {
public GameObject Player;
public GameObject Button;
void Start () {
Button.GetComponent<Renderer>().material.color = new Color(1, 0, 0);
}
void Update () {
}
void OnTriggerEnter(Collider other)
{
if (other.tag == "Button")
{
Button.GetComponent<Renderer>().material.color = new Color(0, 1, 0);
Button.transform.position +=new Vector3(0,-0.75f,0);
}
}
void OnTriggerExit(Collider other)
{
if (other.tag == "Button")
{
Button.GetComponent<Renderer>().material.color = new Color(1, 0, 0);
Button.transform.position += new Vector3(0, 0.75f, 0);
}
}
}

14.

Проверьте работоспособность скрипта

15.

Создадим объект дверь для выхода ил лабиринта и назовём его door .

16.

Зададим спецэффекты объекту door .
door – ADD component – Effects - Particle System

17.

Настроим спецэффекты для двери

18.

Проверяем, что получилось

19.

Изменим скрипт
Переменная двери
При нажатии
дверь открывается
При отпускании
дверь закрывается

20.

Скрипт Game
using UnityEngine;
using System.Collections;
public class Game : MonoBehaviour {
public GameObject Player;
public GameObject Button;
public GameObject Door;
void Start () {
Button.GetComponent<Renderer>().material.color = new Color(1, 0, 0);
}
void Update () {
}
void OnTriggerEnter(Collider other)
{
if (other.tag == "Button")
{
Button.GetComponent<Renderer>().material.color = new Color(0, 1, 0);
Button.transform.position +=new Vector3(0,-0.75f,0);
Door.SetActive(false);
}
}
void OnTriggerExit(Collider other)
{
if (other.tag == "Button")
{
Button.GetComponent<Renderer>().material.color = new Color(1, 0, 0);
Button.transform.position += new Vector3(0, 0.75f, 0);
Door.SetActive(true);
}
}
}

21.

Вводим начальные данные

22.

Проверьте работоспособность скрипта

23.

Создайте сферу и установите на неё крипт Game

24.

Накидайте кубиков для задания логики игры.

25.

Создадим переход уровня
Переход к уровню – Name_level, устанавливается на событие взаимодействия триггера который отображает
дверь на другой уровень.
English     Русский Rules