Воскресенье, 10 Ноября 2024, 04:28

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Пошаговое перемещение
СтранныйДата: Вторник, 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;
  • Страница 1 из 1
  • 1
Поиск:

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