GMBR
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.
Entrar

Esqueci-me da senha

Últimos assuntos
» Colisões não funcionando
por 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

Ir para baixo

Tem como dividir uma sprite em partes, e com isso detectar qual parte foi atingida? Empty Tem como dividir uma sprite em partes, e com isso detectar qual parte foi atingida?

Mensagem por andersonrdias Ter 08 Jun 2010, 14:09

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.
andersonrdias
andersonrdias

Data de inscrição : 21/05/2010
Reputação : 0
Número de Mensagens : 2
Prêmios : Tem como dividir uma sprite em partes, e com isso detectar qual parte foi atingida? Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

Tem como dividir uma sprite em partes, e com isso detectar qual parte foi atingida? Empty Re: Tem como dividir uma sprite em partes, e com isso detectar qual parte foi atingida?

Mensagem por Cainã Ter 08 Jun 2010, 14:47

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.
Cainã
Cainã

Data de inscrição : 07/03/2010
Reputação : 1
Número de Mensagens : 1335
Prêmios : Tem como dividir uma sprite em partes, e com isso detectar qual parte foi atingida? Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://cai.na.tl/

Ir para o topo Ir para baixo

Tem como dividir uma sprite em partes, e com isso detectar qual parte foi atingida? Empty Re: Tem como dividir uma sprite em partes, e com isso detectar qual parte foi atingida?

Mensagem por andersonrdias Ter 08 Jun 2010, 16:16

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.
andersonrdias
andersonrdias

Data de inscrição : 21/05/2010
Reputação : 0
Número de Mensagens : 2
Prêmios : Tem como dividir uma sprite em partes, e com isso detectar qual parte foi atingida? Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

Tem como dividir uma sprite em partes, e com isso detectar qual parte foi atingida? Empty Re: Tem como dividir uma sprite em partes, e com isso detectar qual parte foi atingida?

Mensagem por giosepeluiz Ter 08 Jun 2010, 16:26

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)
giosepeluiz
giosepeluiz

Data de inscrição : 21/05/2010
Reputação : 1
Número de Mensagens : 110
Prêmios : Tem como dividir uma sprite em partes, e com isso detectar qual parte foi atingida? Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://www.orkut.com.br/Main#Profile?uid=12612551030963156921

Ir para o topo Ir para baixo

Tem como dividir uma sprite em partes, e com isso detectar qual parte foi atingida? Empty Re: Tem como dividir uma sprite em partes, e com isso detectar qual parte foi atingida?

Mensagem por Cainã Ter 08 Jun 2010, 16:42

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.
Cainã
Cainã

Data de inscrição : 07/03/2010
Reputação : 1
Número de Mensagens : 1335
Prêmios : Tem como dividir uma sprite em partes, e com isso detectar qual parte foi atingida? Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://cai.na.tl/

Ir para o topo Ir para baixo

Tem como dividir uma sprite em partes, e com isso detectar qual parte foi atingida? Empty Re: Tem como dividir uma sprite em partes, e com isso detectar qual parte foi atingida?

Mensagem por Denis Lemos Ter 08 Jun 2010, 16:48

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 !
Denis Lemos
Denis Lemos

Data de inscrição : 17/05/2009
Reputação : 1
Número de Mensagens : 938
Prêmios : Tem como dividir uma sprite em partes, e com isso detectar qual parte foi atingida? Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Plataformas :
  • Game Maker 8.0 ou 8.1
  • Game Maker Studio 1.4
  • Unity
  • C#
  • Godot
  • C ou C++


Ir para o topo Ir para baixo

Tem como dividir uma sprite em partes, e com isso detectar qual parte foi atingida? Empty Re: Tem como dividir uma sprite em partes, e com isso detectar qual parte foi atingida?

Mensagem por giosepeluiz Ter 08 Jun 2010, 17:04

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 ;)
giosepeluiz
giosepeluiz

Data de inscrição : 21/05/2010
Reputação : 1
Número de Mensagens : 110
Prêmios : Tem como dividir uma sprite em partes, e com isso detectar qual parte foi atingida? Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://www.orkut.com.br/Main#Profile?uid=12612551030963156921

Ir para o topo Ir para baixo

Tem como dividir uma sprite em partes, e com isso detectar qual parte foi atingida? Empty Re: Tem como dividir uma sprite em partes, e com isso detectar qual parte foi atingida?

Mensagem por Denis Lemos Ter 08 Jun 2010, 17:35

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 !
Denis Lemos
Denis Lemos

Data de inscrição : 17/05/2009
Reputação : 1
Número de Mensagens : 938
Prêmios : Tem como dividir uma sprite em partes, e com isso detectar qual parte foi atingida? Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Plataformas :
  • Game Maker 8.0 ou 8.1
  • Game Maker Studio 1.4
  • Unity
  • C#
  • Godot
  • C ou C++


Ir para o topo Ir para baixo

Tem como dividir uma sprite em partes, e com isso detectar qual parte foi atingida? Empty Re: Tem como dividir uma sprite em partes, e com isso detectar qual parte foi atingida?

Mensagem por victor_aco Ter 08 Jun 2010, 17:40

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:
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
victor_aco

Data de inscrição : 25/03/2010
Reputação : 2
Número de Mensagens : 666
Prêmios : Tem como dividir uma sprite em partes, e com isso detectar qual parte foi atingida? Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

Tem como dividir uma sprite em partes, e com isso detectar qual parte foi atingida? Empty Re: Tem como dividir uma sprite em partes, e com isso detectar qual parte foi atingida?

Mensagem por giosepeluiz Ter 08 Jun 2010, 17:44

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...
giosepeluiz
giosepeluiz

Data de inscrição : 21/05/2010
Reputação : 1
Número de Mensagens : 110
Prêmios : Tem como dividir uma sprite em partes, e com isso detectar qual parte foi atingida? Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://www.orkut.com.br/Main#Profile?uid=12612551030963156921

Ir para o topo Ir para baixo

Tem como dividir uma sprite em partes, e com isso detectar qual parte foi atingida? Empty Re: Tem como dividir uma sprite em partes, e com isso detectar qual parte foi atingida?

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Ir para o topo Ir para baixo

Ir para o topo


 
Permissões neste sub-fórum
Não podes responder a tópicos