GM 8: Визуализируем смену дня/ночи и выброс
Возвращаюсь после перерыва, и втягиваюсь обратно в проект. Начну с простенькой фишки, которая давно напрашивалась.
Для тех кто не понимает что происходит ссылка на первую статью из цикла.
Про ощущения
После перерыва пыл охладел, но от проекта отказываться не хочу. Пока. Однако, думаю, в перспективе он все равно обречен, раз правообладатели серии дергают модеров. Главное, нам не высовываться и не привлекать лишнего внимания.
Концепция и логика
На данный момент за смену дня и ночи и цикл выбросов отвечают два таймера с отсчетом. Нужно привязаться к ним и сделать эффекты затемнения экрана во время ночи и наложить красный фильтр во время выброса.
Для этого попросту создаю два квадрата-спрайта — черный и красный. Затем отображаю их на экране через объект Зону и растягиваю на весь экран.
Сначала хотела наложить темно-синий фильтр в качестве ночного, но он некрасиво смотрится на черном фоне вне границ карты. Не знаю, как сделать его применяемым избирательно к картинке карты…
Можно, например, сделать слепок границ карты и создать фильтр с ее формой или сделать карту Кардона в виде спрайта и контролировать его оттенки отдельными встроенными функциями…
В общем, решила пока не заморачиваться и просто использовать черный фильтр.
Конечно, просто закрывать карту растянутыми спрайтами недостаточно. Нужно контролировать их прозрачность, постепенно меняя ее во времени. За это отвечает встроенный параметр image_alpha (обозначает степень непрозрачности: 0 — полностью прозрачен, 1 — полностью непрозрачен), который используется в функции рисования. А в ней в свою очередь его можно заменить на собственную переменную.
Для этого добавляю два параметра, которые будут отображать желаемую степень прозрачности для фильтров. Изменение их значений привязываю к таймерам циклов и отдельно прописываю код, который плавно меняет прозрачность до желаемых значений.
Ну и конечно же, увеличиваю длительность циклов, а то они больно скоротечны.
В следующей статье вернемся к животинам. Сделаем песелей, которые будут бродить и искать по карте дичь.