Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Java: Общие вопросы > игра "змейка" |
Автор: m_art 9.2.2005, 22:19 |
Подскажите, пожалуйста, как можно реализовать автоматическое движение змейки через фикц. промеж. времени? |
Автор: Domestic Cat 9.2.2005, 22:32 |
Какой змейки? Либо циклом анимации, либо Таймером. |
Автор: LSD 9.2.2005, 22:42 | ||
Если интервал фиксированный то таймером, java.util.Timer и javax.swing.Timer. |
Автор: Domestic Cat 9.2.2005, 22:52 | ||
Зависит от задачи, если этo игра то циклом лучше. |
Автор: LSD 10.2.2005, 00:24 | ||
А так сложнее выдерживать фиксированный интервал времени. Время просчета движений и прорисовка может варьироваться. |
Автор: Domestic Cat 10.2.2005, 00:38 |
Измеряем время за цикл и на основании него перемещаем змею. Тогда все равно, меняется фпс или нет. А Таймер - это дополнительный тред; да и когда тредом двигаешь чего-нибудь в игре, нич его хорошего не получится. |
Автор: m_art 10.2.2005, 10:09 |
Спасибо за ответ. А можно где-то посмотреть пример использования класса Timer? |
Автор: Domestic Cat 10.2.2005, 10:20 |
В Гугле. |
Автор: m_art 10.2.2005, 10:22 |
Проблема в следующем... Я только 2-3 недели как начал учить Java. Читал по книге Дейтела "Как программировать на Java" (книга 1). Думаю, что учится лучше на конкретном примере...Вот насчет многопоточного программирования написано в кн.2, которую, к сожалению, пока не нашел. Кстати, интересно Ваше мнение об этой книге. P.S. sorry за оффтоп Конкретно о задаче: Ничего большого и сложного писать не собираюсь, только учусь... есть "змейка" (ArrayList) есть метод move(Direction direction) есть реализация интерфейса KeyListener, т.е. нажимая соотв. кнопки я могу двигать змейку... Как можно туда "вклинить" Timer (или может быть по другому), чтобы змейка "сама" двигалась, в зависимости от какого-то int delay, пока, предположим, gameOver==false ? P.S. читал javadoc Timer, без примера не разобрался ![]() |
Автор: Domestic Cat 10.2.2005, 10:31 |
Да можно конечно; только имхо начинающему писать игру - последнее дело, т.к. в играх обычно есть нюансы. Например, такой: игра без Таймера (в таком применении) будет лучше игры с таймером. Игра без двойного бафферинга будет смотреться хуже игры с бафферингом. Чтом этим заняться нужно изучить сначала основы, а затем прочесь еще че-нибудь по программированию игр (желательно на Java). Книг в нете не много а очень много, посмотри хотя бы ссылки в теме о литературе. Можно и без Дейтелей обойтись. |
Автор: Tamerlann 14.2.2005, 15:31 |
http://forum.vingrad.ru/index.php?showtopic=18114 Да ещё и со ссылочками. ![]() |