Página 1 de 1

Colchetes? Pra Que Serve? Ajudem-me [GAME MAKER]

Enviado: Qua Nov 28, 2018 4:02 pm
por Foxy Of Jungle
Estou com este código que está escrito no GMS 2 e quero passar para o GMS 1 mas não sei como fazer isso pois o GMS 1 não reconhece os Colchetes dessa forma que o GMS 2 usa:

Código: Selecionar todos

color_mix=  [lerp(color[key_previous,0], color[key_next,0], lerp_amt),
             lerp(color[key_previous,1], color[key_next,1], lerp_amt),
             lerp(color[key_previous,2], color[key_next,2], lerp_amt)];
Qual alternativa para que o código funcione da mesma forma sem os colchetes?
OBS: Estou me referindo aos colchetes ao lado do "lerp" e não os da Array.

Re: Colchetes? Pra Que Serve? Ajudem-me [GAME MAKER]

Enviado: Qua Nov 28, 2018 4:44 pm
por All-x
É uma forma diferente de inicializar uma array (Array Literal?). Basta trocar por:

Código: Selecionar todos

color_mix[0] = lerp(color[key_previous,0], color[key_next,0], lerp_amt);
color_mix[1] = lerp(color[key_previous,1], color[key_next,1], lerp_amt);
color_mix[2] = lerp(color[key_previous,2], color[key_next,2], lerp_amt);
Acho que é isso, não testei.

Abraços

Re: Colchetes? Pra Que Serve? Ajudem-me [GAME MAKER]

Enviado: Qua Nov 28, 2018 5:23 pm
por Foxy Of Jungle
Alex FC escreveu:É uma forma diferente de inicializar uma array (Array Literal?). Basta trocar por:

Código: Selecionar todos

color_mix[0] = lerp(color[key_previous,0], color[key_next,0], lerp_amt);
color_mix[1] = lerp(color[key_previous,1], color[key_next,1], lerp_amt);
color_mix[2] = lerp(color[key_previous,2], color[key_next,2], lerp_amt);
Acho que é isso, não testei.

Abraços
Obrigado por responder Alex, mas..
Ele sempre da erro já estou tentando há horas:

Código: Selecionar todos

___________________________________________
############################################################################################
ERROR in
action number 1
of Draw Event
for object obj_mp_camera:

Illegal argument type
 at gml_Object_obj_mp_camera_DrawGUI_1 (line 8) -     shader_set_uniform_f_array(u_col, color_mix[0]);
############################################################################################

o u_col está correto, mas o problema está no color_mix
OBS, usei apenas o color_mix[0], só pra ver se funcionava mas mesmo assim da argumento ilegal.
O que posso fazer ?

Re: Colchetes? Pra Que Serve? Ajudem-me [GAME MAKER]  Tópico resolvido

Enviado: Qua Nov 28, 2018 5:29 pm
por All-x
Olha a documentação dessa função:

https://docs.yoyogames.com/source/dadio ... array.html

Ela já admite que ali vai uma array, então não precisa colocar color_mix[0] como argumento, mas sim color_mix, apenas.

Código: Selecionar todos

shader_set_uniform_f_array(u_col, color_mix);
Flw

Re: Colchetes? Pra Que Serve? Ajudem-me [GAME MAKER]

Enviado: Qua Nov 28, 2018 6:00 pm
por Foxy Of Jungle
Alex FC escreveu:Olha a documentação dessa função:

https://docs.yoyogames.com/source/dadio ... array.html

Ela já admite que ali vai uma array, então não precisa colocar color_mix[0] como argumento, mas sim color_mix, apenas.

Código: Selecionar todos

shader_set_uniform_f_array(u_col, color_mix);
Flw
Funcionou perfeitamente!
E outro problema que também estava impactando era a variável "time" que vai dentre 0 e 1, eu estava colocando 20 e as cores estavam "bugadas" e por isso pensei que não estava funcionando, todavia sua explicação da Array ajudou e muito! (Eu estou fazendo um sistema de dia e noite.)
FLW!