Суббота, 28 Декабря 2024, 04:22

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Столкновение с объектом
Darian56Дата: Пятница, 28 Ноября 2014, 19:13 | Сообщение # 1
был не раз
Сейчас нет на сайте
Привет. Ответьте, пожалуйста. Объект совершает на 2d пространстве действие(идет), перед ним например объект(куст). Объект-персонаж просто проходит куст, вот вопрос. Как сделать так, чтобы он сталкивался с ним и не шел дальше, а когда столкнулся, произошло некое действие? (если столкнулся, то перейти в другую сцену)
MANMANAДата: Пятница, 28 Ноября 2014, 22:21 | Сообщение # 2
почти ветеран
Сейчас нет на сайте
а чем тебе уроки, которые я тебе посоветовал в http://gcup.ru/forum/59-42224-1 не понравились?
"When the player collides with the obstacle, let’s make the game restart. We’re going to edit the Player.cs file to do this. Open the file up and edit it to look like this:"
вот перевод гугл-переводчика "Когда игрок сталкивается с препятствием, давайте сделаем перезапуска игры. Мы собираемся отредактировать Player.cs файл, чтобы сделать это. Откройте файл вверх и отредактировать его, чтобы выглядеть следующим образом:"

строка из кода "
void OnCollisionEnter2D(Collision2D other)
{
Die();
}
"
что здесь было не понятно? лень читать?

Добавлено (28 ноября 2014, 22:21)
---------------------------------------------
есть такие понятия, как коллайдеры, коллизии, триггеры


http://www.3dbuffer.com/ Текстуры, Unity3D, Blender: Эффекты, скрипты, моделирование, текстурирование, скульптинг
VKонтакте 3Dbuffer

Последнее:

Новый раздел "Текстуры"

Как запатентовать, защитить техническое решение, игру, идею
Darian56Дата: Суббота, 29 Ноября 2014, 00:07 | Сообщение # 3
был не раз
Сейчас нет на сайте
Хорошо, с этим разобрался. Но не могу понять как взаимодействуют два коллайдера. Например коллайдер у персонажа и коллайдер у объекта. Они физически сталкиваются, но как мне написать, что если игрок столкнулся с объектом, то Die()?
MANMANAДата: Суббота, 29 Ноября 2014, 09:17 | Сообщение # 4
почти ветеран
Сейчас нет на сайте
Из туториала "// Die by collision
void OnCollisionEnter2D(Collision2D other)
{
Die();
}

void Die()
{
Application.LoadLevel(Application.loadedLevel);
}
"

"The OnCollisionEnter2D method is called whenever there is a collision detected between two GameObjects that have Collider 2D components."
из ScriptingAPI Unity3d
Collider2D.OnCollisionEnter2D(Collision2D)

"using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour {
void OnCollisionEnter2D(Collision2D coll) {
if (coll.gameObject.tag == "Enemy")
coll.gameObject.SendMessage("ApplyDamage", 10);

}
}"
соответственно, если объект, на котором висит данный скрипт (кста, называться он должен ExampleClass), сталкивается с другим объектом, у которого tag Enemy, то в консоли выводится сообщение о столкновении.
tag объекта можешь выставить в инспекторе справа вверху при выбранном объекте


http://www.3dbuffer.com/ Текстуры, Unity3D, Blender: Эффекты, скрипты, моделирование, текстурирование, скульптинг
VKонтакте 3Dbuffer

Последнее:

Новый раздел "Текстуры"

Как запатентовать, защитить техническое решение, игру, идею
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг