Воскресенье, 22 Декабря 2024, 09:43

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Помогите со скриптом!!
Georgiy0912Дата: Суббота, 23 Июня 2012, 15:29 | Сообщение # 1
почетный гость
Сейчас нет на сайте
Здравствуйте! Помогите в написании скрипта на си под юнити. Никак не могу понять, как сделать прицеливание от первого лица, т.е. Если прицел, например центр экрана или точка на экране наведена на противника, предположим на куб и get key down, то вычесть из переменной здоровья, лежащей в другом скрипте, допустим 10. Как вычесть я понимаю, но как создать условие "если прицел на противнике" Где то слышал про ray cast, но понятия не имею что это такое.
FennomДата: Суббота, 23 Июня 2012, 19:13 | Сообщение # 2
был не раз
Сейчас нет на сайте
Копай тут
MkasssДата: Суббота, 23 Июня 2012, 19:25 | Сообщение # 3
заслуженный участник
Сейчас нет на сайте
http://www.youtube.com/watch?v=DXbPCbnVqk8&feature=related
MyACTДата: Воскресенье, 24 Июня 2012, 09:29 | Сообщение # 4
C# CODERS
Сейчас нет на сайте
Georgiy0912, вот это делается так:
void OnMouseUp(){
if(Input.GetMouseDown(0))
hp -= 1;


3дэшечки: https://sketchfab.com/myactyindie
Курентли воркс он: https://myacty.itch.io/raskopnik
Georgiy0912Дата: Понедельник, 25 Июня 2012, 16:27 | Сообщение # 5
почетный гость
Сейчас нет на сайте
Mkasss, просто драгоценный урок, спасибо!

Добавлено (25.06.2012, 16:27)
---------------------------------------------
Еще вопросник, значит сделал я ray и создат перемен ную типа RaycastHit с именем Hit, я так понял, что эта переменная равна объекту на который попал луч, но как теперь создать условие подобного типа:
If (Hit содержит таг enemy){
}

PovstalezДата: Понедельник, 25 Июня 2012, 18:51 | Сообщение # 6
постоянный участник
Сейчас нет на сайте
Quote (Georgiy0912)
If (Hit содержит таг enemy){ }

Code
If (Hit.collider.tag == "Enemy")
{  
   
}
Georgiy0912Дата: Вторник, 26 Июня 2012, 09:11 | Сообщение # 7
почетный гость
Сейчас нет на сайте
Спасибо

Добавлено (26.06.2012, 06:36)
---------------------------------------------
Блин, опять вопрос, значит есть у меня игрок и куча кубиков с тегами enemy, от игрока идет луч, есть условие, если raycast пресекает объект с тегом enemy, то... Вот тут то и проблема, как обратиться к скрипту именно того объекта на который направлен луч, т.е. есть и другие объекты с таким же тегом и скриптом, но мне надо обратиться именно к этому.
Проверка enemy нужно только для того, что бы проверить, что я стреляю именно во врага и тем самым наносить дамэйдж только противнику.

Добавлено (26.06.2012, 09:11)
---------------------------------------------
Ну же cry Очень нуждаюсь в вашем ответе!

pixeyeДата: Вторник, 26 Июня 2012, 09:30 | Сообщение # 8
Red Winter Software
Сейчас нет на сайте
Quote (Georgiy0912)
Блин, опять вопрос, значит есть у меня игрок и куча кубиков с тегами enemy, от игрока идет луч, есть условие, если raycast пресекает объект с тегом enemy, то... Вот тут то и проблема, как обратиться к скрипту именно того объекта на который направлен луч, т.е. есть и другие объекты с таким же тегом и скриптом, но мне надо обратиться именно к этому.
Проверка enemy нужно только для того, что бы проверить, что я стреляю именно во врага и тем самым наносить дамэйдж только противнику.


Я приведу тебе пример с мышкой. Без труда перенесешь на свое.

Code
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
RaycastHit hit;

if(Physics.Raycast(ray,out hit,Mathf.Infinity)){  
if (hit.collider.CompareTag("enemy")){  
hit.collider.GetComponent<_скрипт_врага>().MakeDamage();
}

}


ACTORS - мой фреймворк на Unity
Until We Die - игра над которой работаю

Georgiy0912Дата: Вторник, 26 Июня 2012, 09:48 | Сообщение # 9
почетный гость
Сейчас нет на сайте
pixeye, Всё, всё понял! Спс!
  • Страница 1 из 1
  • 1
Поиск:

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