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.

criar mapas Baseando em Sprite

Perguntas? A comunidade te ajuda a resolver.
Avatar do usuário
scarylitz
Novato
Novato
Reações: 0
Mensagens: 2

criar mapas Baseando em Sprite

Mensagem por scarylitz » Sáb Abr 08, 2023 10:15 am

ola

eu estou tentando criar um mapa usando um sistema baseado em ler sprite, sou uma pessoa que esta iniciando no game dev, então Não sei muita coisa, mas eu queria usar um sistema que o computador consiga sortear qual sala ele iria criar.
se alguém souber como fazer isso, ou conhecer um video que mostra isso, pois Não consegui achar nenhum video que conseguiu realmente me ajudar

Avatar do usuário
Chuaschinai
Colaborador
Colaborador
Reações: 6
Mensagens: 198

Re: criar mapas Baseando em Sprite

Mensagem por Chuaschinai » Sáb Abr 08, 2023 10:48 pm

Não compreendi direito, você quer criar tipo um level baseado em uma sprite?, tipo ler um determinado pixel da sprite e então criar o objeto com base na cor desse pixel?

Avatar do usuário
scarylitz
Novato
Novato
Reações: 0
Mensagens: 2

Re: criar mapas Baseando em Sprite

Mensagem por scarylitz » Sáb Abr 08, 2023 11:19 pm

Chuaschinai escreveu: Sáb Abr 08, 2023 10:48 pm Não compreendi direito, você quer criar tipo um level baseado em uma sprite?, tipo ler um determinado pixel da sprite e então criar o objeto com base na cor desse pixel?
isso mesmo, voce sabe se é possível?

Avatar do usuário
Chuaschinai
Colaborador
Colaborador
Reações: 6
Mensagens: 198

Re: criar mapas Baseando em Sprite

Mensagem por Chuaschinai » Dom Abr 09, 2023 1:10 am

Sim é possível, existe algumas funções especificar para facilitar a obtenção de um pixel na tela, a mais comum é draw_getpixel ela pega um pixel na posição desejada na tela do jogo e retorna o valor do pixel ou seja a cor.

Código: Selecionar todos

var _color = draw_getpixel(mouse_x, mouse_y);
show_debug_message(_color);
No caso dessa função você teria que usar a função draw_sprite para desenhar o sprite na superficie da tela e então usar o draw_pixel para pegar os valores dos pixeis, assim:

Código: Selecionar todos

draw_sprite(spr_test, 0, 0, 0);
var _color = draw_getpixel(0, 0);
if(_color == c_red) {
	// cria determinado objeto
}else if(_color == c_blue) {
	// cria outro objeto
}
Nesse caso você teria que fazer um loop através dos pixeis da sprite para ir obtendo as cores, como provavelmente você fara isso uma vez para criar os objetos, a função draw_pixel não sera um problema, porém se usar ela a todo momento no step ou draw, pode causar um gargalo e perca de fps, pois ela é feita para coisas simples. Se precisar usar ela a todo momento por frame, terá que utilizar buffers para deixar isso mais leve.

Uma dica, o draw_sprite pode ser usado em qualquer evento não precisa ser necessariamente no draw, se você não precisa desenhar a sprite e somente pegar os pixeis, você pode fazer isso no Create que evita o uso demasiado da função.

Responder

Quem está online

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