Dried:
В данной статье я хотел бы поделиться способом реализации часов в приложении с использованием глобальных переменных и объекта "Text".
Я решил написать этот урок, потому что не так давно задавал на форуме вопрос, касающийся именно этой темы, на который я не получил ответа. И теперь когда нашел решение этой проблемы решил поделиться с другими.
Урок простой и не вызовет затруднений даже у неопытных пользователей Construct'a.
Итак,
Все что нужно это:
1) Объект "Text".
2) Глобальные переменные, которыми обозначим часы минуты и секунды (в моем случае это hou, min, sec)
Создадим событие:
Условие System->Always
Действие Text->Set Text->"Часы: " &(Global('Hou'. &"Минуты: " &(Global('Min'. &"Секунды: " &(Global('Sec'.
Этим событием мы определяем содержание текста на экране, а также то, что текст отображается постоянно.
Далее:
Условие System->Every X Milliseconds
Действие System->Add to Value (Sec, 30 в моем случае)
Здесь мы задаём комманду, что каждые n-ное количество милисекунд добавляется значение 1 к общему значению секунд. По сути дела в этом событии задается скорость часов в общем. Это полезно, к примеру, для ролевых игр, где необходимо реализовать смену дня и ночи так за более короткий период, применение может быть самым разнообразным (яркий пример Fallout, в этой игре похожая система времени, время идет быстрее обычного).
Для справки 1000 милисекунд = 1 секунда.
Движемся далее. Настал черед задать события, определяющие правильное течение времени, ведь единицы измерения времени в определенный момент обнуляются.
Условие System->Compare Global Variable
Действие System->Set Value (в моем случае переменная секунд "sec") задаем значение "0"
Действие System->Add to value (в моем случае это переменная "min") задаем значение "1"
Это событие определяет, когда 60 секунд переходят в 1 минуту, тем самым секунд становится 0, а минут 1.
Следующее событие аналогично предыдущему, только вместо переменой секунд будет переменная минут, а вместо переменной минут - переменная часов. Т.е. обнуляются минуты, а значение "1" добавляется к часам.
Подробные объяснения я считаю излишними:
По аналогии с предыдущими двумя событиями можно сделать, в зависимости от того как именно необходимо, 12-часовую (Am/Pm) или 24-часовую систему отсчета времени, а также добавить подсчет календаря в каком угодно формате.
Вывод: При помощи нехитрых и простых манипуляций с объектом "Text" и глобальными переменными можно добиться полной реализации практически всего что связано с течением времени в своих приложения (ну разве что slow motion не получится создать Чуть не забыл, исходник данного урока:
Скачать исходник clock.cap