Página 1 de 1

Efeito arco iris na tela

Enviado: Dom Dez 30, 2018 6:08 pm
por DarlesLSF
Boa tarde, tô querendo fazer um efeito arco-iris na tela. Digamos que seria uma transição entre rooms, mas ao invés de dar aquela escurecida clássica, eu gostaria que fosse nas cores do arco-iris. Como faço pra mudar de uma cor pra outra nessa transição?

Re: Efeito arco iris na tela

Enviado: Dom Dez 30, 2018 8:29 pm
por None
Acho que ficaria algo mais ou menos assim o código.

var n = 7;
var h = camera_get_view_height(view_camera[0]) / n;
cores = [c_red, cor 2, cor 3... Etc]

Aqui você definiu a quantidade de cores e o tamanho de cada linha (estou pensando em linhad aqui) e guardou suas cores em um vetor.

Depois no draw do objeto de transição você não faz ele desenhar o retângulo mais, mas algo mais ou menos assim

var x1 = camera_view_get_y(view_camera[0]);

for (var i = 0; i < n; i++)
{
draw_set_colour(cores);
draw_rectangle(0, y1 + i * h, room width, y1 + i * h + h, falar)
}
draw_set_colour(c_white);

O que eu fiz aqui foi pegar a posição em que o y da câmera está, não liguei para o x da câmera porque estou fazendo linhas, então posso ir de um lado até o outro sem medo.

Depois iniciei um laço de repetição para rodar por todas as minhas cores, ele vai definir a cor de desenho com base no meu vetor e o número da repetição atual.
Depois ele vai desenhar um retângulo de um lado ao outro da Room na posição do y da câmera + a posição atual multiplicada pela altura de cada linha que vai aumentar até a altura dele.

Fiz o código agora de cabeça pelo celular, então desculpe por qualquer erro.

Dá para fazer uns efeitos bem legais, tipo ele girando e coisas do tipo, o step event tem um tutorial muito legal sobre isso (efeito de girar e arco íris)