Еще дело в том, что обывателю не нужно тестировать алгоритм и на самом деле хочется просто на крутящийся кубик поглядеть. Я за то, чтобы автоматическое вращение было включено сразу при старте.
Еще дело в том, что обывателю не нужно тестировать алгоритм и на самом деле хочется просто на крутящийся кубик поглядеть. Я за то, чтобы автоматическое вращение было включено сразу при старте.
Больше игр нет
Возможно вариант с "переключателями" действительно подойдёт для клавиатур реала и эмуляторов без ограничений.
И да, алгоритм опроса клавы много значит. Думаю нужно не останавливаться при обнаружении нажатой клавиши, а проверять все используемые клавиши.
Не знаю как реализовано сейчас. Предположу, что значение неких переменных (с величиной угла поворота), при нажатии клавиши, увеличивается или уменьшается на определённую "константу". И далее вычисления, отрисовка.
Возможно, вычисления и отрисовку нужно сделать постоянными.
Опрос клавы должен приводить к изменению значения "констант" приращения углов. Каждая константа может иметь только три значения, например [-5, 0, 5] (в зависимости от нажатой клавиши). "ТАВ" - сбрасывает все константы в "0".
Например, было "0". Нажал "вниз", получил "-5". Затем нажал "вверх" - получил "0". Снова нажал "вверх" - получил "5"....
Единственное, "но" - значения "констант" изменяемые при анализе клавиатуры, не должны сразу использоваться в вычислениях. В вычислениях должен использоваться второй комплект переменных "константа", их значение нужно обновлять только перед началом нового цикла "вычисление-отрисовка".
Блин, чего накатал...
Изменил клавиши управления и сделал две версии - "пошаговую" (можно вращать по нескольким осям одновременно) и "автоматическую". Автоматическая при вращении вокруг одной оси еще ничего, а вот при вращении по двум или трем осям у меня моск немного ломается. Выложил здесь.
По всем степеням свободы сразу и с одной скоростью это слишком пожалуй. Чтобы не усложнять математику, может быть в автоматическом режиме проредить повороты вокруг второстепенной оси? Например, на три шага прецессии один шаг нутации итд. Тогда моск будет видеть кадры, имеющие меньший логический разрыв между друг другом и, соответственно, рваться не так сильно.
Больше игр нет
Т.е. что-то вроде такого, но чтобы это было более-менее плавно, надо пересчитать косинусы/синусы для меньшего шага. Пока не планирую, но может как-нибудь потом.
Сейчас, когда я запускаю вращение по двум осям, например нажав стрелки влево и вверх, есть ощущение какого-то мотыляния. Как будто бы кубик не просто крутится, а его еще на ветру болтает, или он танцует дабстеп. Может быть и правда дело в слишком большом шаге и получается эдакая эмерджентность.
Больше игр нет
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
"Эмерджентность говоришь, хы-х!"
Просто так воспринимается, думаю с шагами поменьше смотрелось бы лучше
- - - Добавлено - - -
Рассчитал косинусы/синусы с шагом в 2 раза меньше (rom здесь).
Немного изменил принцип управления, по сравнению с v12. Теперь по каждой оси возможны 5 вариантов скорости: -2, -1, 0, 1, 2. Соответственно можно разогнать или затормозить по желаемой оси вручную.
v13 очень симпатично крутится. Не хватает вариантов скорости ±0.5. Но это уже изыски. Про этот кубик уже можно моск не ломая сделать вывод, что он кубичен и вертится.
Больше игр нет
Тогда v14 тебе должен понравиться еще больше, он даже мне понравился. Еще в 2 раза уменьшил шаг синусов/косинусов, вариантов скорости теперь по 9, от -4 до 4 с шагом 1.
- - - Добавлено - - -
Надо бы собраться и сделать индикацию скоростей
Это уже почти Элита. Осталось доделать детали =)
Больше игр нет
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)