Página 1 de 1

mudar a cor do da sprite ou iluminação gml

Enviado: Dom Jan 12, 2020 9:38 pm
por Trevors
galera queria a ajuda de vcs tenho um obj goku por exemplo e outro obj bola com 10 frame por exemplo, queria que quando o obj bola colidisse com o obj goku o obj goku ganhasse uma brilho semelhante ao do obj bola por ex o azul,, se nao souber outro pode ser o image_blend mais eu quero que so fique com a coloração extra durante os cinco primeiros frame, e lembrando que o obj bola pode colidir com o obj goku mais de uma vez.

Re: mudar a cor do da sprite ou iluminação gml

Enviado: Dom Jan 12, 2020 11:31 pm
por Chuaschinai
Você quer tipo um efeito de dano?
Com esse código creio que você não precisará colocar somente nos 5 primeiros frames, pois você pode regular a velocidade com que ele decrementa o alpha do efeito brilho.

// Create

Código: Selecionar todos

alpha = 0; // Alpha para o efeito
// Step

Código: Selecionar todos

var velAlpha = 0.05; // Velocidade que o efeito vai sumir quanto mais alto mais rápido
alpha = lerp(alpha, 0, velAlpha); // Reseta o alhpa para zero
var colObjBola = collision_point(x, y, obj_bola, false, true);
if(colObjBola != noone){
  alpha = 1;
}
// Draw

Código: Selecionar todos

draw_self(); // Desenha a Sprite principal abaixo do efeito

gpu_set_fog(true, -1, 0, 1); // Se for gmk 1.4 use d3d_set_fog()
draw_sprite_ext(sprite_index, image_index, x, y, 1, 1, 0, -1, alpha); // Aqui desenha o efeito
gpu_set_fog(false, -1, 0, 1);

Re: mudar a cor do da sprite ou iluminação gml

Enviado: Seg Jan 13, 2020 10:59 am
por Trevors
valeu cara, queria saber para quer serve o gpu_set_fog e como funciona o draw_sprite_ext oque colocar no sprite_index e no image_index, é que nunca usei essa variáveis.

Re: mudar a cor do da sprite ou iluminação gml

Enviado: Seg Jan 13, 2020 1:32 pm
por Chuaschinai
gpu_set_fog() é utilizado mais em 3d para fazer aquele efeito de nevoa, para mascarar coisas que estão muito distantes e não precisam ser renderizadas, no 2d ele simplesmente pega a sprite após ele e deixa com uma coloração unica basicamente.

sprite_index é a sprite que você colocou no seu objeto, nele você pode definir uma sprite manualmente tipo, sprite_index = spr_goku.

image_index são os frames dessa imagem, então se colocar ele no draw_sprite(), seus frames irão rodar normalmente ele só é utilizado mesmo quando você cria um Event Draw no objeto, ou caso você deseje manter tipo um frame único image_index = 5.

Re: mudar a cor do da sprite ou iluminação gml

Enviado: Ter Jan 14, 2020 11:00 pm
por Trevors
Consegui cara muito obg valeu mesmo grononmc.