yellyex
offline
Опыт:
4,667Активность: |
Переназначение клавиш (Для PRO)
Привет! Я конечно уже и не надеюсь на помощь, но всё же.
Задача такая:
У меня есть юнит. Он передвигается по клавишам W,S,A и D. Нажимаем на W и юнит идёт прямо от того, куда направлен его взгляд. Нажимаем на D и юнит идёт тоже прямо от того, куда направлен его взгляд минус 90 (градусов - действительное). Но если я нажимаю D, то приказ о движении идти вперёд, если нажата клавиша W, меняется на приказ клавиши D. Вобщем у меня работают стороны под 90 градусов превосходно, а вот сочетание я не знаю как сделать. Поэтому и пишу сюда. Сейчас конечно же я занимаюсь этим, а эта тема просто, если вдруг вы найдете решение быстрее меня. Вот.
В кратце. Надо сделать сочетание клавиш под 45 градусов на все направления. Если есть карты с примерами, а они есть, то просьба скинуть сюда.
Заранее спасибо.
Вот карта, если кто захочет посмотреть. Хотя я в этом сильно сомневаюсь.
yellyex добавил: Короче, я пока отдыхать, а то запарился с этой эврикой уже... Отредактировано yellyex, 13.12.2011 в 11:18. |
13.12.2011, 10:25 | #1
+1/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
alexprey
познающий Unity
offline
Опыт:
68,501Активность: |
Эх. Ни уж то так сложно??? Все очень просто. Посколько движение у тебя заточено в одной плоскости с фиксированными направляющими осями, то делается не в градусах.
Для каждой клавищи определяется вектор направления. Например для W вектор равен (1;0), для A (0; -1). При нажатии клавиши ты должен добавить к общему вектору направления вектор клавиши. В итоге мы получим нужный вектор движения. W + A = (1;-1). Это как раз угол кратный 45. Дальше уножаешь полученный вектор на скорость движения. В итоге у тебя получается вектор перемещения. Двигаешь своего юнита по этому вектору относительно себя, поворачиваешь его так же по тому вектору. Все. Ничего сложного. Простая математика 8 класса |
13.12.2011, 11:18 | #2
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
yellyex
offline
Опыт:
4,667Активность: |
alexprey, Спасибо. Идея понравилась. Я 8 класс прогуливал в компьютерном клубе за КС и Варкрафтом :) |
13.12.2011, 11:23 | #3
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
alexprey
познающий Unity
offline
Опыт:
68,501Активность: |
yellyex, это печально. Ну тогда тебе в помощь вики и гугл
|
13.12.2011, 11:24 | #4
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
yellyex
offline
Опыт:
4,667Активность: |
alexprey, Да нет, просто я ради игры сделаю всё что угодно. Просто по-своему. Я так английский выучил, играя в MUD. |
13.12.2011, 11:26 | #5
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
inoto
я буду крутым!
offline
Опыт:
6,891Активность: |
yellyex:
хмм маддер на хгм, это интересно.. |
13.12.2011, 13:02 | #6
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
yellyex
offline
Опыт:
4,667Активность: |
inoto, Есть скайп? Может понадобиться твоя помощь. Мой yellyex добавляйся :) |
13.12.2011, 13:42 | #7
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
yellyex
offline
Опыт:
4,667Активность: |
Можно закрывать. |
17.12.2011, 15:18 | #8
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|