Entrar
Últimos assuntos
» Preciso de ajudapor AftonDuGrau Dom 21 Abr 2024, 20:18
» Como faz o evento drawn GUI, não se repetir?
por aminaro Sex 19 Abr 2024, 20:30
» Como ajustar velocidade de cada frame da animação no game maker
por Ralphed Qui 18 Abr 2024, 18:28
» PROBLEMAS COM FÍSICAS DE ÁGUA
por aminaro Ter 16 Abr 2024, 10:07
» Retorno da GMBR!!!
por Ralphed Sex 12 Abr 2024, 22:45
» JOGADOR PARANDO NO AR QUANDO ATACA
por aminaro Qua 10 Abr 2024, 13:51
» Problemas com texto interativo
por Kaaru72 Dom 07 Abr 2024, 11:31
» Erro escondido e indecifrável
por dev_gabize.azv Qui 04 Abr 2024, 10:11
» Mudar cor de apenas uma palavra
por Ralphed Sáb 30 Mar 2024, 00:39
» Procuro Programador de game maker
por Wou Sex 15 Mar 2024, 10:27
» Mod APK
por gamerainha Qua 13 Mar 2024, 06:30
» Aceito pedidos de sprites (Com exemplos meus)
por Sevilha Qua 28 Fev 2024, 12:17
» Inventário simples
por Isquilo_Roedor Qui 22 Fev 2024, 15:18
» Problemas na programaçnao de inimigo [jogo DOOM LIKE]
por Black Mirror Dom 11 Fev 2024, 13:34
» ANDROID MULTI TOUCH
por DiegoBr Dom 04 Fev 2024, 12:13
» Servidor de Discord do fórum?
por Lighter Sáb 27 Jan 2024, 17:18
» Save e Load Json
por Klinton Rodrigues Qui 25 Jan 2024, 11:12
» Colisão com mais de um objeto
por aminaro Seg 22 Jan 2024, 15:02
» Oi sou novo aqui
por Thiago Silveira Alexandre Sáb 20 Jan 2024, 20:55
» Como acessar conteudo comprado no marketplace
por macmilam Sex 19 Jan 2024, 07:42
» Devlogs em vídeos do Block Room
por Joton Seg 15 Jan 2024, 16:56
» Alguém aqui já ganha dinheiro com seus games?
por Joton Seg 15 Jan 2024, 16:49
» ACERVO GMBR MAGAZINE
por Joton Qui 11 Jan 2024, 19:21
» como aumentar o obj sem aumentar a colisão??
por GabrielXavier Qua 10 Jan 2024, 07:21
» Asteroid Core - Early Acesse Update [0.2.0.0]
por JOZ. Seg 08 Jan 2024, 14:39
Criar mapa de imagem para seleção de fases
+4
Mateus O de Andrade
Zero.
matheusco
dangelobr
8 participantes
Página 1 de 1
Criar mapa de imagem para seleção de fases
Existe algum modo prático de criar um mapa de imagem para seleção de fases?
Digamos por exemplo que tenho um sprite com os botões de todas as fases do meu jogo, e quero mapear a area de clique de cada botão para direcionar a fase correspondente.
Pensei em fazer o tratamento na mão, mas se houver alguma forma já oferecida pelo GM, melhor.
Digamos por exemplo que tenho um sprite com os botões de todas as fases do meu jogo, e quero mapear a area de clique de cada botão para direcionar a fase correspondente.
Pensei em fazer o tratamento na mão, mas se houver alguma forma já oferecida pelo GM, melhor.
Última edição por dangelobr em Seg 04 maio 2015, 08:31, editado 1 vez(es)
dangelobr- Games Ranking :
Data de inscrição : 25/03/2015
Reputação : 0
Número de Mensagens : 28
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Criar mapa de imagem para seleção de fases
O evento do mouse (todos, exceto o Global) checam se você clicou no sprite. Se quiser fazer isso no Step é checar se há colisão do sprite com o ponto (mouse_x, mouse_y) e verificar se houve clique.
Re: Criar mapa de imagem para seleção de fases
Isso é tranquilo, agora imagina que tenho um unico sprite como no abaixo. Vou ter que determinar o intervalo x e y de cada botão para saber qual foi clicado. Queria saber se tem uma forma mais pratica, ou qual a forma mais comum de se fazer isso.
dangelobr- Games Ranking :
Data de inscrição : 25/03/2015
Reputação : 0
Número de Mensagens : 28
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Criar mapa de imagem para seleção de fases
Mas eu acabei de dizer... é a instância que identifica o clique, não o sprite em si. Do mesmo jeito que você enumera as instâncias, você faz uma room alvo diferente pra quando clicar ir pra ela.
Re: Criar mapa de imagem para seleção de fases
Utilize esta função para saber se o mouse ta colidindo com o obj :
- Código:
if collision_point(mouse_x,mouse_y,object_index,1,0)
{
//ações
}
Zero.- Data de inscrição : 19/08/2010
Reputação : 47
Número de Mensagens : 1300
Prêmios :
x 0 x 0 x 0
x 1 x 0 x 0
x 0 x 0 x 0
Re: Criar mapa de imagem para seleção de fases
Acho que não me expressei direito, mas eu tenho 1 sprite e 1 objeto.
Tem como vou definir em qual "botão" foi clicado sem ter definido previamente as coordenadas de cada um dos botões desenhados neste sprite?
Alguns softwares utilizam os chamados mapa de imagem, onde são mapeadas estas coordenadas previamente, e depois é feito referencia a estes mapas.
Tem como vou definir em qual "botão" foi clicado sem ter definido previamente as coordenadas de cada um dos botões desenhados neste sprite?
Alguns softwares utilizam os chamados mapa de imagem, onde são mapeadas estas coordenadas previamente, e depois é feito referencia a estes mapas.
dangelobr- Games Ranking :
Data de inscrição : 25/03/2015
Reputação : 0
Número de Mensagens : 28
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Criar mapa de imagem para seleção de fases
Boa tarde dangelobr,
Infelizmente acho que não temos essa opção no GM(pelo menos não automaticamente).
Lhe aconselho a usar a técnica do Zero em conjunto com a criação de um sprite para cada faze. depois basta posicionar cada sprite sobre o local desejado de sua imagem e marca-los como invisíveis. Então é só inserir as ações no código que o colega zero lhe passou. Essa é a maneira mais prática que encontrei.
Mas vamos esperar mais comentários.
Abração carinha.
Infelizmente acho que não temos essa opção no GM(pelo menos não automaticamente).
Lhe aconselho a usar a técnica do Zero em conjunto com a criação de um sprite para cada faze. depois basta posicionar cada sprite sobre o local desejado de sua imagem e marca-los como invisíveis. Então é só inserir as ações no código que o colega zero lhe passou. Essa é a maneira mais prática que encontrei.
Mas vamos esperar mais comentários.
Abração carinha.
Mateus O de Andrade- Games Ranking :
Data de inscrição : 25/03/2014
Reputação : 37
Número de Mensagens : 410
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Criar mapa de imagem para seleção de fases
é possivel sim, use o código:
e
Exemplo:
as coordenadas voce verifica de acordo com sua imagem.
caso queira, crie um objeto e no evento draw, use o código:
use assim:
veja se ele desenhou o quadrado exatamente em cima do que voce quer. caso positivo, use as coordenadas, senao, altere as coordenadas.
- Código:
point_in_rectangle(px, py, x1, y1, x2, y2);
//px = x do mouse
//py = y do mouse
//x1 = x do inicio do retangulo
//y1 = y do inicio do retangulo
//x2 = x do final do retangulo
y2 = y do final do retangulo
e
- Código:
mouse_check_button_pressed(numb);
//numb é o botao do mouse
Exemplo:
- Código:
if (mouse_check_button_pressed(mb_left)) and (point_in_rectangle(mouse_x, mouse_y, 10, 10, 100, 100)){
//clicou no retangulo 1
}
//o código acima verifica se o mouse clicou com o botao esquerdo do mouse em um retangulo iniciado no ponto 10,10 e finalizado no ponto 100,100
if (mouse_check_button_pressed(mb_left)) and (point_in_rectangle(mouse_x, mouse_y, 110, 110, 200, 200)){
//clicou no retangulo 2
}
//o código acima verifica se o mouse clicou com o botao esquerdo do mouse em um retangulo iniciado no ponto 110,110 e finalizado no ponto 200,200
as coordenadas voce verifica de acordo com sua imagem.
caso queira, crie um objeto e no evento draw, use o código:
- Código:
draw_rectangle(x1, y1, x2, y2, outline);
//desenha um retangulo
use assim:
- Código:
draw_rectangle(10, 10, 100, 100, true);
veja se ele desenhou o quadrado exatamente em cima do que voce quer. caso positivo, use as coordenadas, senao, altere as coordenadas.
itarodrigo- Data de inscrição : 28/08/2010
Reputação : 52
Número de Mensagens : 599
Prêmios :
x 0 x 4 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Criar mapa de imagem para seleção de fases
Essa era mais ou menos a minha ideia original. Agora ficou mais fácil.
O que eu queria evitar era uma grande quantidade de Sprites.
Agradeço a todos pela ajuda!!
Abraço.
O que eu queria evitar era uma grande quantidade de Sprites.
Agradeço a todos pela ajuda!!
Abraço.
dangelobr- Games Ranking :
Data de inscrição : 25/03/2015
Reputação : 0
Número de Mensagens : 28
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Criar mapa de imagem para seleção de fases
Na verdade não serão vários sprites, me expressei erroneamente. Na verdade vai ser assim: Se você tem 10 fazer serão 10 OBJETOS e não SPRITES.
Mateus O de Andrade- Games Ranking :
Data de inscrição : 25/03/2014
Reputação : 37
Número de Mensagens : 410
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Criar mapa de imagem para seleção de fases
com um objeto apenas irá funcionar, siga meu exemplo.
se tiver duvidas em como fazer, basta me dizer.
se tiver duvidas em como fazer, basta me dizer.
itarodrigo- Data de inscrição : 28/08/2010
Reputação : 52
Número de Mensagens : 599
Prêmios :
x 0 x 4 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Criar mapa de imagem para seleção de fases
Bom... Eu obtive a ajuda de duas pessoas para tentar de ajudar haha https://gmbr.forumeiros.com/t32167-bugleft-mouse-released
O que eu fiz você pode ver aqui: https://dl.dropboxusercontent.com/u/8556803/Para_Forum/Teste%20Mapa.gmx.rar
Uma explicação é: Criar apenas um objeto para ser o local do seu mapa, se for clicado em cima dele, ele vai para a fase selecionada.
Usei a opção creation code dentro da room mapa, em cada um deles na variável sala. Veja o que acha... GMS
O que eu fiz você pode ver aqui: https://dl.dropboxusercontent.com/u/8556803/Para_Forum/Teste%20Mapa.gmx.rar
Uma explicação é: Criar apenas um objeto para ser o local do seu mapa, se for clicado em cima dele, ele vai para a fase selecionada.
Usei a opção creation code dentro da room mapa, em cada um deles na variável sala. Veja o que acha... GMS
Re: Criar mapa de imagem para seleção de fases
Muitos objetos iguais, com variáveis diferentes... mole! Vai ter que escrever um bocado, vai dar trabalho. Mas ter trabalho não é sinônimo de ter dificuldade.
A forma mais rápida de explicar é:
1 - na room, coloque todos os objetos-botão
2 - (ainda na edição da room) clique com o botão direito do mouse sobre cada botão, selecione a opção "creation code" e defina uma variável (vou usar "room_pra_ir") com o valor da room que é pra ir. Exemplo:
A forma mais rápida de explicar é:
1 - na room, coloque todos os objetos-botão
2 - (ainda na edição da room) clique com o botão direito do mouse sobre cada botão, selecione a opção "creation code" e defina uma variável (vou usar "room_pra_ir") com o valor da room que é pra ir. Exemplo:
- Código:
room_pra_ir := room_fase_2;
- Código:
room_goto(room_pra_ir);
saim- Games Ranking :
Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Reputação : 136
Número de Mensagens : 3033
Prêmios :
x 1 x 6 x 0
x 1 x 0 x 3
x 0 x 0 x 0
Re: Criar mapa de imagem para seleção de fases
Era só isso que ele queria? '-'
Acho que eu não entendi o que ele quis dizr direito.
Achei msm que fosse só pra saber se o mouse ta colidindo.
A forma do saim ta bem explicada
Acho que eu não entendi o que ele quis dizr direito.
Achei msm que fosse só pra saber se o mouse ta colidindo.
A forma do saim ta bem explicada
Zero.- Data de inscrição : 19/08/2010
Reputação : 47
Número de Mensagens : 1300
Prêmios :
x 0 x 0 x 0
x 1 x 0 x 0
x 0 x 0 x 0
Re: Criar mapa de imagem para seleção de fases
Mini Tutorial:
Crie um objeto com a seguinte imagem:
Verifique na imagem as coordenadas x e y dos quadrados que serão verificados (mapeei 3 deles).
No evento Step:
A lógica é simples, o código irá verificar se o botão esquerdo do mouse foi clicado e se está dentro do quadrado específico.
Não há necessidade de criar vários objetos para isso.
Mas, caso ache a solução dos outros amigos mais prática, você decide.
Crie um objeto com a seguinte imagem:
Verifique na imagem as coordenadas x e y dos quadrados que serão verificados (mapeei 3 deles).
No evento Step:
- Código:
if (mouse_check_button_pressed(mb_left)) and (point_in_rectangle(mouse_x,mouse_y,16,18,52,54)){
room_goto(fase_1);
}
if (mouse_check_button_pressed(mb_left)) and (point_in_rectangle(mouse_x,mouse_y,71,18,107,54)){
room_goto(fase_2);
}
if (mouse_check_button_pressed(mb_left)) and (point_in_rectangle(mouse_x,mouse_y,127,18,162,54)){
room_goto(fase_3);
}
A lógica é simples, o código irá verificar se o botão esquerdo do mouse foi clicado e se está dentro do quadrado específico.
Não há necessidade de criar vários objetos para isso.
Mas, caso ache a solução dos outros amigos mais prática, você decide.
itarodrigo- Data de inscrição : 28/08/2010
Reputação : 52
Número de Mensagens : 599
Prêmios :
x 0 x 4 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Criar mapa de imagem para seleção de fases
Obrigado a todos que me ajudaram com varias dicas interessantes, em especial ao colega itarodrigo que captou a ideia original, de manter apenas um objeto e inclusive fez este belo mini tutorial.
Abraço!
Abraço!
dangelobr- Games Ranking :
Data de inscrição : 25/03/2015
Reputação : 0
Número de Mensagens : 28
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Criar mapa de imagem para seleção de fases
Testei agora e tiver fazer uma pequena alteração no código para funcionar, adicionando a descrição de x e y.
Precisei fazer assim ou não reconhecia o retangulo:
point_in_rectangle(mouse_x,mouse_y,x+0,y+0,x+100,y+100)
Agora é só fazer o sprite das fases, definir as coordenadas e finalizar.
Valeu novamente e todas pela ajuda.
Precisei fazer assim ou não reconhecia o retangulo:
point_in_rectangle(mouse_x,mouse_y,x+0,y+0,x+100,y+100)
Agora é só fazer o sprite das fases, definir as coordenadas e finalizar.
Valeu novamente e todas pela ajuda.
dangelobr- Games Ranking :
Data de inscrição : 25/03/2015
Reputação : 0
Número de Mensagens : 28
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Criar mapa de imagem para seleção de fases
dangelobr, se acaso quiser, você pode usar a minha engine que te mandei com as opções do saim... Daria menos trabalho.
Não desmerecendo a ajuda do itarorodrigo, mas não seria preciso calcular os x's e os y's. Abraço.
Não desmerecendo a ajuda do itarorodrigo, mas não seria preciso calcular os x's e os y's. Abraço.
Re: Criar mapa de imagem para seleção de fases
só pra constar, da pra fazer de forma mais facil... usando for, algumas arrays por faze (pode ser feito com ini's, caso sejam fazes "desbloqueaveis") e uma variavel de contagem inicial.
exemplo, o for:
for(i=INICIO; i
INICIO = a primeira faze na tela, exemplo, se tiver 10 fazes por tela, INICIO va ser igual a 10*tela (10,20,30,40...)
INICIO+QUANTIDADE_DE_FAZES_NA_TELA = a quantidade de itens na tela, se for 10, vai de INICIO até INICIO+10...
e assim vai... acho que é o metodo mais facil, mais só comentei atoa mesmo, para verem um metodo diferente :p flwz
exemplo, o for:
for(i=INICIO; i
INICIO = a primeira faze na tela, exemplo, se tiver 10 fazes por tela, INICIO va ser igual a 10*tela (10,20,30,40...)
INICIO+QUANTIDADE_DE_FAZES_NA_TELA = a quantidade de itens na tela, se for 10, vai de INICIO até INICIO+10...
e assim vai... acho que é o metodo mais facil, mais só comentei atoa mesmo, para verem um metodo diferente :p flwz
Tópicos semelhantes
» Programa auxiliar para criar fases de jogos
» Ajuda para criar seleção de time.
» Bug na seleção de fases
» Duvida - Seleção de fases
» Criando um Menu de Seleçao de Fases
» Ajuda para criar seleção de time.
» Bug na seleção de fases
» Duvida - Seleção de fases
» Criando um Menu de Seleçao de Fases
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos
|
|