![]() |
Модераторы: javastic, AntonSaburov |
![]() ![]() ![]() |
|
MMA |
|
|||
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 23.12.2005 Репутация: нет Всего: нет |
Необходимо переместить объект на заданное количество в задданое направление с заданным шагом и временем(например, вверх на 20 пикселей с шагом 5 пикселей и временем на 1 шаг равным 0.2 секунды).
Класс таймера создавать ой как не хочеться... Вместо этого хотелось бы сделать следующее: Примерный код: for (int i = 0; i < пиксели / шаг; i++) { //перемещаем объект в заданном направлении ...перемещаем... // Необходимо подождать чтобы было видно // как красиво перемещается объект ...ждёмс заданное время... } Кто-нибудь знает как это реализовать строчку "...ждёмс заданное время..." без заведения класса таймера, но с заведением для этой цели любых необходимых переменных? |
|||
|
||||
Dancer |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 537 Регистрация: 29.4.2005 Где: Nizhniy Novgorod Репутация: 33 Всего: 37 |
try {
Thread.sleep(200); } catch(Exception e) { e.printStackTrace(); } к твоим запросам подходит, но это применять не очень хорошо!!! -------------------- У программистов есть великая тайна: всё, что только можно, было давно кем-то когда-то написано. Разработчику только нужно знать в какое место кода какие строчки вставить! ![]() |
|||
|
||||
MMA |
|
|||
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 23.12.2005 Репутация: нет Всего: нет |
Почитал тут про эти потоки.
Только не пойму: почему тормозить основной поток(или вообще стопорить, я не понял... но ведь таймеры стопорят свой поток, как я понимаю) не хорошо. У этого способа я разглядел только плюс(в данном случае плюс): Игрок не може ничего сделать пока объект не переместиться. А какие минусы? |
|||
|
||||
batigoal |
|
|||
![]() Нелетучий Мыш ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6423 Регистрация: 28.12.2004 Где: Санктъ-Петербургъ Репутация: 1 Всего: 151 |
Интервалы могут быть неравномерными. Ведь никто тебе не гарантирует, что весь остальной код будет выполнятся, скажем, 5 мс. Он может выполниться один раз за 5 мс, а второй раз за 15. И интервал получится в одном случае 205 мс, а второй раз - 215. -------------------- "Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли) ЖоржЖЖ |
|||
|
||||
Nemesis |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 206 Регистрация: 20.2.2005 Где: Москва Репутация: 3 Всего: 5 |
Если тебе нужно реально затормозить свой поток и не дать проге идти дальше выполняться,то есть два банальных способа:
1) Описал Dancer просто остановить поток ( но это не правильно... вообще что-либо делать с потоками - это большое зло, поскольку в j2me проблема многопотоковости просто кошмарна). 2) Это создать простую функцию возвращающую boolean, которая просто берет разницу между текущим временем и временем с которого начался отсчет и в случае, если разница больше/равно нужной выдержки, то возвращаем true иначе false. А функцию эту вызывать в бесконечном цикле. Вот пример,чтобы было нагляднее
Но это приостановит полностью выполнение проги( будут работать только параллельные потоки). P.S. Что за трабл с кодом? Он у меня в сообщении в одной строчкой почему-то идет ![]() Это сообщение отредактировал(а) Nemesis - 4.1.2006, 16:01 --------------------
|
|||
|
||||
batigoal |
|
|||
![]() Нелетучий Мыш ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6423 Регистрация: 28.12.2004 Где: Санктъ-Петербургъ Репутация: 1 Всего: 151 |
Издержки ввода нового дизайна. Скоро исправят. -------------------- "Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли) ЖоржЖЖ |
|||
|
||||
![]() ![]() ![]() |
FAQ раздела лежит здесь! |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java ME (J2ME) | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |