Obrigado por visitar a The Game Makers Brasil Use o fórum de Dúvidas para fazer perguntas. Se está em busca de aprender dê uma olhada nos tutoriais. |
Efeito arco iris na tela
Efeito arco iris na tela
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
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)
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)
Tutorial de jogo de plataforma completo: https://youtu.be/MMUy_bMKqPk
Como criar um jogo de RPG Japonês no estilo Final Fantasy https://goo.gl/efr6fx
Como criar um jogo de RPG Japonês no estilo Final Fantasy https://goo.gl/efr6fx
Quem está online
Usuários navegando neste fórum: Nenhum usuário registrado e 6 visitantes