Пошаговое перемещение
|
|
Странный | Дата: Вторник, 26 Сентября 2017, 20:20 | Сообщение # 1 |
был не раз
Сейчас нет на сайте
| Персонаж при нажатии на клавишу должен передвигаться ровно на одну клетку вперед/назад/лево/право. Во время перемещения должны игнорироваться повторные нажатия. --- Мне сделать сетку и както вычислять значения, или просто перемещать все объекты строго на единичку? --- Если для примера скинете код перемещения или ссылки на простые статьи. Буду безумно благодарен. --- PS:Понимаю что задача очень легкая, но я как новичок туплю, так что простите(
|
|
| |
drcrack | Дата: Вторник, 26 Сентября 2017, 20:37 | Сообщение # 2 |
старожил
Сейчас нет на сайте
| Цитата Персонаж при нажатии на клавишу должен передвигаться ровно на одну клетку вперед/назад/лево/право. Во время перемещения должны игнорироваться повторные нажатия. т.е. перемещение не мгновенное, а нажал — и он некоторое время двигается на нужную клетку?
|
|
| |
Странный | Дата: Вторник, 26 Сентября 2017, 20:40 | Сообщение # 3 |
был не раз
Сейчас нет на сайте
| Цитата drcrack ( ) т.е. перемещение не мгновенное, а нажал — и он некоторое время двигается на нужную клетку?
да, примерно 0.3 - 0.5 секунды будет уходить на движение
|
|
| |
drcrack | Дата: Вторник, 26 Сентября 2017, 20:47 | Сообщение # 4 |
старожил
Сейчас нет на сайте
| Создаешь куб, вешаешь на него этот скрипт и двигаешь стрелками
https://pastebin.com/sd3GxbZk
Сообщение отредактировал drcrack - Вторник, 26 Сентября 2017, 20:50 |
|
| |
Странный | Дата: Вторник, 26 Сентября 2017, 21:06 | Сообщение # 5 |
был не раз
Сейчас нет на сайте
| Цитата drcrack ( ) Создаешь куб, вешаешь на него этот скрипт и двигаешь стрелками Все отлично но: при перемещении в инспекторе цифры -5.806116. т.е каждый шаг не точно 1. и при многократном перемещении сетка точно уйдет. При зажатии клавиши после одного шага, куб не останавливается(((
Игра будет логической, и каждый шаг может быть смертельным
|
|
| |
drcrack | Дата: Вторник, 26 Сентября 2017, 21:46 | Сообщение # 6 |
старожил
Сейчас нет на сайте
| Тогда так: https://pastebin.com/ekcM7J9w
Сообщение отредактировал drcrack - Вторник, 26 Сентября 2017, 21:46 |
|
| |
Странный | Дата: Среда, 27 Сентября 2017, 07:45 | Сообщение # 7 |
был не раз
Сейчас нет на сайте
| Цитата drcrack ( ) Тогда так: https://pastebin.com/ekcM7J9w Спасибо большое, супер
|
|
| |
n0th1ng | Дата: Среда, 27 Сентября 2017, 11:25 | Сообщение # 8 |
был не раз
Сейчас нет на сайте
| Не знаю как в юнити, но вот стандартная формула для перемещения из startPos в destPos: currentPos = startPos + (destPos-startPos)*prog; prog - от 0 до 1, можно тупо prog += deltaTimer*speed; if(prog>1) prog =1; (deltaTimer - время от предыдущего кадра в секундах, speed - скорость, при 0.5 сек. speed = 2) тогда будет простое перемещение, если надо плавное движение с ускорением и замедлением надо добавить prog = (3-2*prog)*prog*prog;
|
|
| |