Четверг, 28.03.2024, 11:00
ITHelp
Приветствую Вас Гость
Главная Каталог статей Регистрация Вход
Меню сайта

Категории каталога
Полезные статьи [14]
Софт [14]
Info [65]
Все обо всем

Наш опрос
Какая у Вас операционная система?
Всего ответов: 1858

Главная » Статьи » Софт

Clickermann: задаем временные задержки в кликере

Работа со временем в Clickermann

Время - один из важнейших параметров при создании сценариев. Сами временные задержки для сценария не важны, а вот операционная система может просто не успеть среагировать должным образом. Особенно это важно в играх, где каждое действие как правило сопровождается анимацией, которая занимает некоторое время, и если его не выждать, то следующая команда сценария придет не вовремя и рискует не выполниться игрой.

WAIT(s)
Простейшая функция ожидания. В качестве параметра принимает числовое значение секунд, которые должны пройти прежде чем будет выполнена следующая команда сценария.

WAITMS(ms)
В дальнейшем была введена более точная функция, позволяющая раздробить секунду на миллисекунды. В одной секунде как известно тысяча миллисекунд. Поэтому чтоб организовать ожидание в полсекунды, надо указать в кач-ве параметра значение 500. Следует помнить что эти две функции имеют известную погрешность - 16 миллисекунд. Вызвано это исключительно особенностями ОС Windows. Мы могли бы ликвидировать эту погрешность в ущерб производительности, но она слишком незначительна чтоб идти на такие жертвы.

IF_TIME(h,m,s)
Эта условная конструкция пришла на помощь нашему не самому удачному планировщику задач. Она анализирует машинное время, и если оно соответствует ожидаемому, срабатывают инструкции внутри блока. Ожидаемое время задается тремя параметрами: часы, минуты, секунды. К примеру, этот сценарий проверяет соответствует ли время полудню, и если соответствует, щелкает мышкой.

IF_TIME(12, 00, 00)
 lclick(10,20)
END_TIME
 

Важно понимать, что проверка времени осуществляется только когда выполняется инструкция IF_TIME. Если до этого у вас были WAIT, то далеко не факт что вам удастся попасть точно в полдень. Но эта проблема решаема. Параметры минут и секунд можно аннулировать IF_TIME(12, 00, #null) или IF_TIME(12, 00, -1). При таком подходе значение секунд не будет приниматься во внимание и событие будет срабатывать в течение всей минуты. Это полезно когда инструкция IF_TIME вызывается не каждую секунду для проверки. С другой стороны нужно учитывать и "лишние срабатывания" в течение минуты. Обычно их обходят классическим приемом программирования - использованием флагов.  

Категория: Софт | Добавил: Romeo (30.04.2012)
Просмотров: 9226 | Комментарии: 3 | Рейтинг: 5.0/1 |
Всего комментариев: 2
1 Аватар32  
0
помогите как написать код
есть две функции

цикл1 выполняется сразу,
затем цикл два которий должен повторятся в течении 10секунд
и опять на цикл 1

как сделать подобный код

2 Romeo  
0
метка 1:

    цикл1

    метка2:
        цикл2
    если (t<10с)  иди на метка2

иди на метка1

Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Форма входа

Очень советую
Новая космическая игра

Полезное

Контакты
Телефоны:

063-475-1111

ICQ:

318-354-221

E-mail:

ithelp@meta.ua

Skype:

ithelp_kh


Друзья сайта

Поиск

Статистика

Copyright ItHelp © 2024