XGM Forum
Сайт - Статьи - Проекты - Ресурсы - Блоги

Форуме в режиме ТОЛЬКО ЧТЕНИЕ. Вы можете задать вопросы в Q/A на сайте, либо создать свой проект или ресурс.
Вернуться   XGM Forum > StarCraft (только чтение)> Галактическая академия
Ник
Пароль
Войти через VK в один клик
Сайт использует только имя.

 
yellyex

offline
Опыт: 4,667
Активность:
Переназначение клавиш (Для PRO)
Привет! Я конечно уже и не надеюсь на помощь, но всё же.
Задача такая:
У меня есть юнит. Он передвигается по клавишам W,S,A и D. Нажимаем на W и юнит идёт прямо от того, куда направлен его взгляд. Нажимаем на D и юнит идёт тоже прямо от того, куда направлен его взгляд минус 90 (градусов - действительное). Но если я нажимаю D, то приказ о движении идти вперёд, если нажата клавиша W, меняется на приказ клавиши D. Вобщем у меня работают стороны под 90 градусов превосходно, а вот сочетание я не знаю как сделать. Поэтому и пишу сюда. Сейчас конечно же я занимаюсь этим, а эта тема просто, если вдруг вы найдете решение быстрее меня. Вот.
В кратце. Надо сделать сочетание клавиш под 45 градусов на все направления. Если есть карты с примерами, а они есть, то просьба скинуть сюда.
Заранее спасибо.
Вот карта, если кто захочет посмотреть. Хотя я в этом сильно сомневаюсь.
yellyex добавил:
Короче, я пока отдыхать, а то запарился с этой эврикой уже...
Прикрепленные файлы
Тип файла: sc2map Эврика v2.7.SC2Map (77.4 Кбайт, 10 просмотров )

Отредактировано yellyex, 13.12.2011 в 11:18.
Старый 13.12.2011, 10:25
alexprey
познающий Unity
offline
Опыт: 68,501
Активность:
Эх. Ни уж то так сложно??? Все очень просто. Посколько движение у тебя заточено в одной плоскости с фиксированными направляющими осями, то делается не в градусах.
Для каждой клавищи определяется вектор направления. Например для W вектор равен (1;0), для A (0; -1). При нажатии клавиши ты должен добавить к общему вектору направления вектор клавиши. В итоге мы получим нужный вектор движения. W + A = (1;-1). Это как раз угол кратный 45.
Дальше уножаешь полученный вектор на скорость движения. В итоге у тебя получается вектор перемещения. Двигаешь своего юнита по этому вектору относительно себя, поворачиваешь его так же по тому вектору. Все. Ничего сложного. Простая математика 8 класса
Старый 13.12.2011, 11:18
yellyex

offline
Опыт: 4,667
Активность:
alexprey, Спасибо. Идея понравилась. Я 8 класс прогуливал в компьютерном клубе за КС и Варкрафтом :)
Старый 13.12.2011, 11:23
alexprey
познающий Unity
offline
Опыт: 68,501
Активность:
yellyex, это печально. Ну тогда тебе в помощь вики и гугл
Старый 13.12.2011, 11:24
yellyex

offline
Опыт: 4,667
Активность:
alexprey, Да нет, просто я ради игры сделаю всё что угодно. Просто по-своему. Я так английский выучил, играя в MUD.
Старый 13.12.2011, 11:26
inoto
я буду крутым!
offline
Опыт: 6,891
Активность:
yellyex:
играя в MUD.
хмм маддер на хгм, это интересно..
Старый 13.12.2011, 13:02
yellyex

offline
Опыт: 4,667
Активность:
inoto, Есть скайп? Может понадобиться твоя помощь. Мой yellyex добавляйся :)
Старый 13.12.2011, 13:42
yellyex

offline
Опыт: 4,667
Активность:
Можно закрывать.
Старый 17.12.2011, 15:18

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы можете скачивать файлы

BB-коды Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 02:25.