Персонаж при нажатии на клавишу должен передвигаться ровно на одну клетку вперед/назад/лево/право. Во время перемещения должны игнорироваться повторные нажатия. --- Мне сделать сетку и както вычислять значения, или просто перемещать все объекты строго на единичку? --- Если для примера скинете код перемещения или ссылки на простые статьи. Буду безумно благодарен. --- PS:Понимаю что задача очень легкая, но я как новичок туплю, так что простите(
Персонаж при нажатии на клавишу должен передвигаться ровно на одну клетку вперед/назад/лево/право. Во время перемещения должны игнорироваться повторные нажатия.
т.е. перемещение не мгновенное, а нажал — и он некоторое время двигается на нужную клетку?
Создаешь куб, вешаешь на него этот скрипт и двигаешь стрелками
Все отлично но: при перемещении в инспекторе цифры -5.806116. т.е каждый шаг не точно 1. и при многократном перемещении сетка точно уйдет. При зажатии клавиши после одного шага, куб не останавливается(((
Игра будет логической, и каждый шаг может быть смертельным
Не знаю как в юнити, но вот стандартная формула для перемещения из 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;