Логика и анимация
От: okon  
Дата: 26.04.19 04:58
Оценка:
Допустим у вас поле дискретно логически состоит из клеток , нажимаем кнопку вперед, "Марио" должен переместиться например в клетку Mario.X = Mario.X + 1.
При этом есть анимация ( не известно сколько секунд ) по перемещению из клетки A в клетку B.

Как правильнее сделать, при нажатии кнопки вперед, если клетка X + 1 свободна,

a) сразу меняем состояние на X + 1 , и паралельно запускаем анимацию.
— минус такого подхода что может быть паралельно другое событие например какой-нибудь враг за время анимации марио переместиться в эту же клетку.
получится что анимация перемещения еще не завершилась, а нужно уже запускать анимацию взаимодействия с врагом

б) меняем состояние на X + 1 , только по завершению анимации
— в этом случае также будет проблема рассинхрона, марио может "проехать" по врагу , при этом не будет определено что они одновременно находились в клетке X + 1

оба варианта похожи на неправильные ? а как собственно делают ?
”Жить стало лучше... но противнее. Люди которые ставят точку после слова лучше становятся сторонниками Путина, наши же сторонники делают акцент на слове противнее ( ложь, воровство, лицемерие, вражда )." (с) Борис Немцов
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.