Перейти к основному содержимому

Плавное изменение цвета фона [1.0]

Это устаревшая статья!

Плавное изменение цвета фона может придать Вашей игре больше атмосферности. Так же, это снизит напряжение на глаза при смене цвета фона (по сравнению с резким).

Функция будет называться !coloring и вызываться так:

gs '!coloring',200,200,200

Где три числа соответственно цвета RGB от 0 до 255.

Код локации !coloring

!Вызов функции с передачей 3-х аргументов, это 3 цвета RGB

!Рекомендуется посылать значения кратные 5

r2 = ARGS[0]
g2 = ARGS[1]
b2 = ARGS[2]
!Начало цикла

:!color

!Всего 3 блока для каждого цвета.

if r1 < r2:
r1=r1 + 5
!Значения должны быть кратные 5. Если хочется любые, то "+5" следует заменить на "+1" и "-5" на "-1"
elseif r1 >r2:
r1=r1 - 5
end

if g1 < g2:
g1=g1 + 5
elseif g1 >g2:
g1=g1 - 5
end

if b1 < b2:
b1=b1 + 5
elseif b1 >b2:
b1=b1 - 5
end
!Установка цвета фона

bcolor = rgb(r1,g1,b1)
!Проверка, достигнут ли нужный цвет?

if r1 = r2 and g1 = g2 and b1 = b2 :
r1=r2
g1=g2
b1=b2
else:
wait TIMEOFWAIT
jump '!color'
end

ВНИМАНИЕ!

Не забывайте, что нужно задать отличным от 0 TIMEOFWAIT и устанавливать цвет текста тёмным или светлым в зависимости от светлого-тёмного фона командой:

fcolor (200,200,200)

где в скобках цвета в RGB

Примечание: использование WAIT а не локации-счётчика COUNTER обусловлено тем, что подразумевается, что смена цвета будет происходить быстро (рекомендуемое время TIMEOFWAIT = 5). Если автор хочет сделать плавную смену дня и ночи, лучше будет воспользоваться `COUNTER``ом.

Автор: ANTIPOD 20.05.2011 09:23

Оригинал статьи: Плавное изменение цвета фона 1.0