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
criar mapas Baseando em Sprite
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
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
- Chuaschinai
- Colaborador
- Reações: 6
- Mensagens: 198
-
Re: criar mapas Baseando em Sprite
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?
Re: criar mapas Baseando em Sprite
isso mesmo, voce sabe se é possível?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?
- Chuaschinai
- Colaborador
- Reações: 6
- Mensagens: 198
-
Re: criar mapas Baseando em Sprite
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.
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:
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.
Código: Selecionar todos
var _color = draw_getpixel(mouse_x, mouse_y);
show_debug_message(_color);
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
}
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.
Quem está online
Usuários navegando neste fórum: Google [Bot] e 0 visitante