Плавное изменение цвета фона [1.0]
Автор: Antipod   
20.05.2011 09:23

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

Функция будет называться !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 ом.

Вложения:
Скачать этот файл (Les1.Coloring.qsp)Coloring[qsp файл урока]4 Kb20.05.2011 18:34