Unity C#

Уроки C# под Unity 5 для начинающих

9 уроков 14 заданий Справочник
/ Видеокурсы / Уроки C# под Unity 5 для начинающих / #7 - События OnCollision и OnTrigger

#7 - События OnCollision и OnTrigger

#7 - События OnCollision и OnTrigger


C#Unity

В этом уроке мы изучим события OnCollision и OnTrigger. Благодаря этим событиям мы можем проверять объекты на их соприкосновение. Так, если объекты столкнулись, то мы узнаем об этом и можем проделать все что угодно.

Видео урок:

Исходный код

Основной класс
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Script : MonoBehaviour {

	public GameObject obj;
	private GameObject inst_obj;
	[SerializeField]
	private float speed = 4f;

	void Start () {
		inst_obj = Instantiate (obj, new Vector3 (0, 0, 0), Quaternion.identity) as GameObject;
	}

	void Update () {
		float zPos = Input.GetAxis ("Vertical");

		inst_obj.transform.Translate (Vector3.forward * speed * zPos * Time.deltaTime);
	}

}
Класс Scale
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Scale : MonoBehaviour {

	void OnMouseDown () {
		transform.localScale = new Vector3 (transform.localScale.x / 2f, transform.localScale.y / 2f, transform.localScale.z / 2f);
	}

	void OnTriggerEnter (Collider other) {
		print (other.gameObject.name);
	}

}

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

Соприкосновение объектов
Сделайте так, чтобы пока куб будет в стене, то в консоль будет выводится информация "[здесь имя кубика] находится в стенке [здесь имя стенки]".
Посмотреть ответ
Вот решение:
void OnTriggerStay (Collider other) {
   print (gameObject.name + " находится в стенке " + other.gameObject.name);
}

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

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


C#Unity

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