События в игре, связанные с реальным временем
|
|
toby3d | Дата: Воскресенье, 13 Мая 2012, 02:52 | Сообщение # 1 |
One-Aloner
Сейчас нет на сайте
| Приветствую всех!
Интересует такая возможность, как внутриигровые действия, зависящие от реального времени. Например: Есть персонаж и два участка суши разделённые водой. Игрок не может перейти на другой участок суши в период (к примеру) с 10 по 14 число текущего месяца, потому что уровень воды достаточно высок, и персонаж может утонуть. Вне этого периода, уровень воды будет достаточно низок, чтобы персонаж свободно перемещался между участками сущи. Или, самый простой вариант, в зависимости от того, какой текущий час на компьютере, таким и будет время суток в игре.
Как сохранить данные о прогрессе игры я придумаю, но как проверить время в компьютере и построить события на зависимости от времени в компьютере игрока?
|
|
| |
Vadim_Aquantist | Дата: Воскресенье, 13 Мая 2012, 04:58 | Сообщение # 2 |
был не раз
Сейчас нет на сайте
| Привет! Добавь объект Date из группы Other, затем добавь числовую глобальную переменную. 1 - После добавь событие: Start of layout > System: Set global variable 'твоя переменная' и в качестве значения пропиши следующее: Date.GetDay 2 - Далее событие чтобы считывать текущий день: System is global variable 'твоя переменная' Equal to (в качестве значения ставь нужный день) > (собственно теперь можно писать любое действие...)
|
|
| |
allxumuk | Дата: Воскресенье, 13 Мая 2012, 09:46 | Сообщение # 3 |
старожил
Сейчас нет на сайте
| toby3d, с часами и минутами делается, так же как и с днями, только не забывай периодически обновлять время Date.Get Current Time.
Любой дурак может написать программу, которую поймёт компилятор. Хорошие программисты пишут программы, которые смогут понять другие программисты.
|
|
| |
toby3d | Дата: Понедельник, 14 Мая 2012, 06:47 | Сообщение # 4 |
One-Aloner
Сейчас нет на сайте
| Quote (allxumuk) Date.Get Current Time. Такого действия не нашёл. :\
|
|
| |
allxumuk | Дата: Понедельник, 14 Мая 2012, 08:07 | Сообщение # 5 |
старожил
Сейчас нет на сайте
| Quote (toby3d) Такого действия не нашёл. :\ Немного ошибся: Set to current time.
Любой дурак может написать программу, которую поймёт компилятор. Хорошие программисты пишут программы, которые смогут понять другие программисты.
|
|
| |
toby3d | Дата: Понедельник, 14 Мая 2012, 08:31 | Сообщение # 6 |
One-Aloner
Сейчас нет на сайте
| Quote (allxumuk) Немного ошибся: Set to current time. Это действие надо вставить в событие "Always" или "Every X milliseconds"? Не получается обновить время и дату. Вставлял и в "Always" и в "Every X milliseconds" и даже в событие "Any key pressed"... Как появилось зафиксированное время, так и осталось.
UPD: Всё, нашёл решение. Я запись в переменные делал при старте лаяута, а не всё время.
Сообщение отредактировал toby3d - Понедельник, 14 Мая 2012, 15:33 |
|
| |