Другие языки программирования и технологии
C# unity. Механика крутящихся пил в 2D
C# unity. Здравствуйте! Можете объяснить (желательно с кодом) как сделать механику крутящихся пил в юнити2D (пишу на C#) и какие модули подключать плиз!!!
Там чел ответил неправильно на вопрос. Любой объект на сцене подвластен позиции, анимация не требуется, можно заставить любой компонент крутиться.
Статичные препятствия.
Сделаем вращающуюся пилу. Для реализации такого «врага» нужны буквально пара вещей — спрайт пилы и скрипт, который будет ее вращать. Сказано — сделано.
Перетаскиваем спрайт на сцену:
Создаем новый скрипт
И добавляем туда код, выглядящий примерно так:
using UnityEngine;
using System.Collections;
public class rotator : MonoBehaviour {
public float speed = 0.04f;
void Update () {
transform.Rotate (new Vector3 (0f, 0f, speed * Time.deltaTime));
}
}
В публичной переменной speed задается скорость вращения. Важно, что положительное значение вращает пилу против часовой стрелки, а отрицательное — по часовой.
Теперь, чтобы взаимодействовать с пилой, добавим на нее какой-нибудь коллайдер и изменим тег объекта на какой-нибудь подходящий в данной ситуации.
GameObject имясюда = GameObject.FindGameObjectWithTag ("Enemy");
Массив всех объектов с заданным тегом можно получить используя метод FindGameObjectsWithTag или по имени.
Вернемся к нашим пилам и создадим новый тег для врагов в игре.
image
В скрипт персонажа добавим следующую проверку
void OnTriggerEnter2D(Collider2D other)
{
if (other.gameObject.CompareTag("Enemy"))
{
Destroy(gameObject);
}
Статичные препятствия.
Сделаем вращающуюся пилу. Для реализации такого «врага» нужны буквально пара вещей — спрайт пилы и скрипт, который будет ее вращать. Сказано — сделано.
Перетаскиваем спрайт на сцену:
Создаем новый скрипт
И добавляем туда код, выглядящий примерно так:
using UnityEngine;
using System.Collections;
public class rotator : MonoBehaviour {
public float speed = 0.04f;
void Update () {
transform.Rotate (new Vector3 (0f, 0f, speed * Time.deltaTime));
}
}
В публичной переменной speed задается скорость вращения. Важно, что положительное значение вращает пилу против часовой стрелки, а отрицательное — по часовой.
Теперь, чтобы взаимодействовать с пилой, добавим на нее какой-нибудь коллайдер и изменим тег объекта на какой-нибудь подходящий в данной ситуации.
GameObject имясюда = GameObject.FindGameObjectWithTag ("Enemy");
Массив всех объектов с заданным тегом можно получить используя метод FindGameObjectsWithTag или по имени.
Вернемся к нашим пилам и создадим новый тег для врагов в игре.
image
В скрипт персонажа добавим следующую проверку
void OnTriggerEnter2D(Collider2D other)
{
if (other.gameObject.CompareTag("Enemy"))
{
Destroy(gameObject);
}
Добрый день.
Чтобы что-то крутить, нужна либо анимация, либо скрипт, изменяющие каждый кадр вращение объекта. Сторонних модулей никаких не нужно.
Умеете создавать анимации в Unity и прикреплять их к объектам?
+ Тот же вопрос про скрипты.
Чтобы что-то крутить, нужна либо анимация, либо скрипт, изменяющие каждый кадр вращение объекта. Сторонних модулей никаких не нужно.
Умеете создавать анимации в Unity и прикреплять их к объектам?
+ Тот же вопрос про скрипты.
Марат Альпенов
Спасибо сделаю анимацию!
Похожие вопросы
- Как создать современную 2D игру на языке C#
- Стоит ли изучать Unity?
- Скажи мне Unity Indie создание игр ...
- скрипт на траффик в игре на c# в unity
- Третий день ипусь над воздушным сопротивлением в Unity на C#. Кто силен? Помогите пожалуйста! (МНОГОБУКВ >>)
- Unity web 3D Player. А что такое Unity Web 3D Player? Скажите что там за редактор? Удобный редактор?
- Учусь програмировать на C++ по книге "C++ для чайников".Проблема.
- Ещё тупой вопрос по C++ :)
- Почему многие отдают предпочтение C++ а не C# ?
- Помогите срочно C#