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.

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

Perguntas? A comunidade te ajuda a resolver.
Avatar do usuário
Foxy Of Jungle
Programador
Programador
Reações: 0
Mensagens: 153
Localização: Brasil
Contato:

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

Mensagem por Foxy Of Jungle » Qua Nov 28, 2018 4:02 pm

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.

Avatar do usuário
All-x
Administrador
Administrador
Reações: 8
Mensagens: 621
Localização: Dourados-MS

Contato:

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

Mensagem por All-x » Qua Nov 28, 2018 4:44 pm

É 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
Começando com o Game Maker? Olhou para assinatura certa!

Imagem

Tutoriais e vídeo aulas de programação! Clique no Banner e confira!

Avatar do usuário
Foxy Of Jungle
Programador
Programador
Reações: 0
Mensagens: 153
Localização: Brasil
Contato:

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

Mensagem por Foxy Of Jungle » Qua Nov 28, 2018 5:23 pm

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 ?

Avatar do usuário
All-x
Administrador
Administrador
Reações: 8
Mensagens: 621
Localização: Dourados-MS

Contato:

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

Mensagem por All-x » Qua Nov 28, 2018 5:29 pm

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
Começando com o Game Maker? Olhou para assinatura certa!

Imagem

Tutoriais e vídeo aulas de programação! Clique no Banner e confira!

Avatar do usuário
Foxy Of Jungle
Programador
Programador
Reações: 0
Mensagens: 153
Localização: Brasil
Contato:

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

Mensagem por Foxy Of Jungle » Qua Nov 28, 2018 6:00 pm

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!

Trancado

Quem está online

Usuários navegando neste fórum: Bing [Bot] e 0 visitante