Entrar
Últimos assuntos
» Colisões não funcionandopor RastaMaan Ontem à(s) 19:49
» Como ajustar velocidade de cada frame da animação no game maker
por pequetux Ontem à(s) 16:45
» Preciso de ajuda
por 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
» 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
Tem como dividir uma sprite em partes, e com isso detectar qual parte foi atingida?
5 participantes
Página 1 de 1
Tem como dividir uma sprite em partes, e com isso detectar qual parte foi atingida?
Estou criando um jogo e gostaria de saber como criar uma forma de detectar com precisão aonde um dano (tiro por exemplo) atingiu uma sprite. Se existe uma forma de dividir uma sprite em partes, e como isso, saber qual parte foi atingida.
Exemplo de aplicação: Um personagem é atingido no braço, então eu substituiria a sprite do personagem por outro parecido, só que com o braço ferido. Mas isso só seria interessante se o sistema identificasse que foi o braço que foi atingindo, e não a perna ou cabeça.
Tenho pouca experiência e é a primeira vez que peço a ajuda aqui. Por isso me desculpem se estiver postando no lugar errado ou algo assim. Alias, pesquisei primeiro e não encontrei nenhum tópico parecido.
Exemplo de aplicação: Um personagem é atingido no braço, então eu substituiria a sprite do personagem por outro parecido, só que com o braço ferido. Mas isso só seria interessante se o sistema identificasse que foi o braço que foi atingindo, e não a perna ou cabeça.
Tenho pouca experiência e é a primeira vez que peço a ajuda aqui. Por isso me desculpem se estiver postando no lugar errado ou algo assim. Alias, pesquisei primeiro e não encontrei nenhum tópico parecido.
andersonrdias- Data de inscrição : 21/05/2010
Reputação : 0
Número de Mensagens : 2
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Tem como dividir uma sprite em partes, e com isso detectar qual parte foi atingida?
Olá e seja bem-vindo ao fórum.
Você pode criar um objeto principal (por exemplo o corpo) e criar outros objetos para os membros (mãos, pernas, cabeça).
Em seguida você faz os objetos seguirem o objeto principal em determinadas posições. O sistema de ações e eventos pode ser usado bem facilmente.
Você pode criar um objeto principal (por exemplo o corpo) e criar outros objetos para os membros (mãos, pernas, cabeça).
Em seguida você faz os objetos seguirem o objeto principal em determinadas posições. O sistema de ações e eventos pode ser usado bem facilmente.
Re: Tem como dividir uma sprite em partes, e com isso detectar qual parte foi atingida?
Obrigado pela resposta.Valeu mesmo.
Bom, só fica uma duvida, alguém sabe como fazer um objeto principal e outros secundários sem movimentarem em sincronia? Fico imaginando se não ficara meio que desajustado sprites diferentes agirem como se fosse uma única sprite. Tipo, sprites braço, perna e cabeça agirem em sincronia com a sprite tronco.
Ou, se existe alguma forma de criar uma sprite invisível que fique exatamente sobre estes pontos. Se elas ficarem invisíveis, creio que o conjunto não ficara correndo o risco de ficar desconjuntado e servira ao mesmo propósito.
Bom, só fica uma duvida, alguém sabe como fazer um objeto principal e outros secundários sem movimentarem em sincronia? Fico imaginando se não ficara meio que desajustado sprites diferentes agirem como se fosse uma única sprite. Tipo, sprites braço, perna e cabeça agirem em sincronia com a sprite tronco.
Ou, se existe alguma forma de criar uma sprite invisível que fique exatamente sobre estes pontos. Se elas ficarem invisíveis, creio que o conjunto não ficara correndo o risco de ficar desconjuntado e servira ao mesmo propósito.
andersonrdias- Data de inscrição : 21/05/2010
Reputação : 0
Número de Mensagens : 2
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Tem como dividir uma sprite em partes, e com isso detectar qual parte foi atingida?
andersonrdias escreveu:Obrigado pela resposta.Valeu mesmo.
Bom, só fica uma duvida, alguém sabe como fazer um objeto principal e outros secundários sem movimentarem em sincronia? Fico imaginando se não ficara meio que desajustado sprites diferentes agirem como se fosse uma única sprite. Tipo, sprites braço, perna e cabeça agirem em sincronia com a sprite tronco.
Ou, se existe alguma forma de criar uma sprite invisível que fique exatamente sobre estes pontos. Se elas ficarem invisíveis, creio que o conjunto não ficara correndo o risco de ficar desconjuntado e servira ao mesmo propósito.
A sprite pode ser uma inteira, mas com objetos invisíveis seguindo nos braços, pernas, cabeça, etc... (basta desmarcar "visible" no obj)
Re: Tem como dividir uma sprite em partes, e com isso detectar qual parte foi atingida?
Realmente este método seria mais eficiente, usar objetos invisíveis para as partes do corpo. Do jeito que eu tinha falado seria necessário coordenar os movimentos das partes para formar o movimento, desse não, basta apenas utilizar objetos de controle.
Re: Tem como dividir uma sprite em partes, e com isso detectar qual parte foi atingida?
Na verdade, você faz um objeto para o corpo do perssonagem, e outro objeto para o braço do perssonagem:
E no STEP do braço você coloca um código para o braço seguir o corpo em tal posição do corpo:
Ex:
Depois é só ir regulado onde está o número 10, até que fique na posição desejada, se você fizer as sprites certinho não ficará desconjuntado !
Aqui tem um video de um jogo que estou fazendo desse modo, os 2 braços do player são 2 objetos diferentes, que faço seguir o corpo onde ele for !
http://www.gamemakerbrasil.com/galeria-de-projetos-f5/dino-land-2-projeto-pausado-por-enquanto-t8010.htm?highlight=dino+land
Mas para fazer isso, não é muito difícil, mas tem que se saber pelo menos o básico do GM, se você é iniciante, começe com algo mais simples, senão não vai conseguir entender nossa explicação !
Vou fazer uma uma engine com o exemplo básico para os mesmbros que querem fazer isso, pois não vi nenhuma do tipo no fórum, e notei que muita gente quer aprender !!!
Então espere, que depois posto ela na seção de engines !
E no STEP do braço você coloca um código para o braço seguir o corpo em tal posição do corpo:
Ex:
- Código:
x=obj_corpo.x+10
y=obj_corpo.y+10
Depois é só ir regulado onde está o número 10, até que fique na posição desejada, se você fizer as sprites certinho não ficará desconjuntado !
Aqui tem um video de um jogo que estou fazendo desse modo, os 2 braços do player são 2 objetos diferentes, que faço seguir o corpo onde ele for !
http://www.gamemakerbrasil.com/galeria-de-projetos-f5/dino-land-2-projeto-pausado-por-enquanto-t8010.htm?highlight=dino+land
Mas para fazer isso, não é muito difícil, mas tem que se saber pelo menos o básico do GM, se você é iniciante, começe com algo mais simples, senão não vai conseguir entender nossa explicação !
Vou fazer uma uma engine com o exemplo básico para os mesmbros que querem fazer isso, pois não vi nenhuma do tipo no fórum, e notei que muita gente quer aprender !!!
Então espere, que depois posto ela na seção de engines !
Denis Lemos- Data de inscrição : 17/05/2009
Reputação : 1
Número de Mensagens : 938
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Plataformas :- Game Maker 8.0 ou 8.1
- Game Maker Studio 1.4
- Unity
- C#
- Godot
- C ou C++
Re: Tem como dividir uma sprite em partes, e com isso detectar qual parte foi atingida?
Denis Lemos escreveu:Na verdade, você faz um objeto para o corpo do perssonagem, e outro objeto para o braço do perssonagem:
E no STEP do braço você coloca um código para o braço seguir o corpo em tal posição do corpo:
Ex:
- Código:
x=obj_corpo.x+10
y=obj_corpo.y+10
Depois é só ir regulado onde está o número 10, até que fique na posição desejada, se você fizer as sprites certinho não ficará desconjuntado !
Aqui tem um video de um jogo que estou fazendo desse modo, os 2 braços do player são 2 objetos diferentes, que faço seguir o corpo onde ele for !
http://www.gamemakerbrasil.com/galeria-de-projetos-f5/dino-land-2-projeto-pausado-por-enquanto-t8010.htm?highlight=dino+land
Mas para fazer isso, não é muito difícil, mas tem que se saber pelo menos o básico do GM, se você é iniciante, começe com algo mais simples, senão não vai conseguir entender nossa explicação !
Vou fazer uma uma engine com o exemplo básico para os mesmbros que querem fazer isso, pois não vi nenhuma do tipo no fórum, e notei que muita gente quer aprender !!!
Então espere, que depois posto ela na seção de engines !
O mais facil para iniciantes é usar objetos invisiveis...
Mas esse método não está errado ;)
Re: Tem como dividir uma sprite em partes, e com isso detectar qual parte foi atingida?
Acho que dá na mesma, pois deixar os objetos invisíveis e depois visíveis na hora que o player estiver armado por exemplo, teria que ter uma variável para controlar se ele estará armado ounão, e por esta variável dizer para o objeto com o braço armado ficar invisível ou não, então por esta mesma variável em vez de dizer para ele ficar invisível ou visível, só setar uma sprite do braço desermado, se for false, ou uma sprite do braço armado se for true !
Pois as variáveis de controle teriam que ser usadas da mesma maneira para dizer se os objetos serão visíveis ou invisíveis, sendo que por elas pode-se apenas trocar as sprites do objeto braço, usando apenas um objeto para isso, em vez de criar varios objetos braços para deixá-los visíveis na hora certa !
Pois as variáveis de controle teriam que ser usadas da mesma maneira para dizer se os objetos serão visíveis ou invisíveis, sendo que por elas pode-se apenas trocar as sprites do objeto braço, usando apenas um objeto para isso, em vez de criar varios objetos braços para deixá-los visíveis na hora certa !
Denis Lemos- Data de inscrição : 17/05/2009
Reputação : 1
Número de Mensagens : 938
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Plataformas :- Game Maker 8.0 ou 8.1
- Game Maker Studio 1.4
- Unity
- C#
- Godot
- C ou C++
Re: Tem como dividir uma sprite em partes, e com isso detectar qual parte foi atingida?
Quanto menos sprite o jogo tiver, mais leve e melhor fica... Você pode usar a função de colisão com o retângulo. Mas q isso? Você cria um retângulo invisível tendo como referencia a origem do player. Assim você pode criar vários retangulos pelo sprtie. O código é assim:
Para saber mais sobre essa função da uma olhada nas aulas do Alex FC: http://www.gamemakerbrasil.com/game-maker-f36/tutorial-de-colisoes-parte-1-t3562.htm
- Código:
if collision_rectangle(x+31,y,x+35,y+32,obj_inimigo,true,0){health-=5}
Para saber mais sobre essa função da uma olhada nas aulas do Alex FC: http://www.gamemakerbrasil.com/game-maker-f36/tutorial-de-colisoes-parte-1-t3562.htm
victor_aco- Data de inscrição : 25/03/2010
Reputação : 2
Número de Mensagens : 666
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Tem como dividir uma sprite em partes, e com isso detectar qual parte foi atingida?
Denis Lemos escreveu:Acho que dá na mesma, pois deixar os objetos invisíveis e depois visíveis na hora que o player estiver armado por exemplo, teria que ter uma variável para controlar se ele estará armado ounão, e por esta variável dizer para o objeto com o braço armado ficar invisível ou não, então por esta mesma variável em vez de dizer para ele ficar invisível ou visível, só setar uma sprite do braço desermado, se for false, ou uma sprite do braço armado se for true !
Pois as variáveis de controle teriam que ser usadas da mesma maneira para dizer se os objetos serão visíveis ou invisíveis, sendo que por elas pode-se apenas trocar as sprites do objeto braço, usando apenas um objeto para isso, em vez de criar varios objetos braços para deixá-los visíveis na hora certa !
Sim, isso é verdade... Mas alinhar objetos nas sprites é mais fácil do que alinhar sprites entre si...
victor_bh escreveu:uanto menos sprite o jogo tiver, mais leve e melhor fica... Você pode usar a função de colisão com o retângulo. Mas q isso? Você cria um retângulo invisível tendo como referencia a origem do player. Assim você pode criar vários retangulos pelo sprtie. O código é assim:
CÓDIGO:
if collision_rectangle(x+31,y,x+35,y+32,obj_inimigo,true,0){health-=5}
Para saber mais sobre essa função da uma olhada nas aulas do Alex FC: http://www.gamemakerbrasil.com/game-maker-f36/tutorial-de-colisoes-parte-1-t3562.htm
Perfeito... Vamos melhorando mais e mais o código...
Valeu Victor ;)
Não basta o jogo ser bonito, tem que ser leve tbm...
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos