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
» player não consegue andar
por lovn7 Qui 21 Nov 2024, 13:33

» É possível fazer istó no game maker
por William Lima Qui 21 Nov 2024, 10:56

» Rio Rise - novo launcher do Gta San Andreas SAMP Brasil
por Lua Sáb 16 Nov 2024, 20:22

» (Resolvido) Cenario longo x Texture Pages
por josuedemoraes Sáb 16 Nov 2024, 15:31

» Kids' band
por Adilson Lucindo Santos Sex 15 Nov 2024, 12:23

» (RESOLVIDO) Engasgos-Troca de Sprites/animações
por josuedemoraes Ter 12 Nov 2024, 01:49

» Block Room - DEMO
por Joton Qua 06 Nov 2024, 22:58

» Game Infinito vertical (subindo)
por macmilam Sáb 26 Out 2024, 12:36

» Retorno da GMBR!!!
por Dancity Ter 22 Out 2024, 16:36

» Máquina de estados
por aminaro Qui 10 Out 2024, 13:33

» como faço pra um objeto colidir com o outro e diminuir a vida do player ?
por josuedemoraes Qui 03 Out 2024, 16:51

» RESOLVIDO: Colisão com objetos moveis
por josuedemoraes Qua 02 Out 2024, 20:28

» Crypt of the Blood Moon
por divin sphere Qua 11 Set 2024, 18:18

» como fazer um objeto seguir?
por divin sphere Dom 18 Ago 2024, 18:08

» Procuro de alguém para Modelar/Texturizar/Animar objetos 3D
por un00brn Dom 11 Ago 2024, 11:10

» Destruição de cenário (estilo DD Tank)
por CoronelZeg Sex 09 Ago 2024, 17:16

» RESOLVIDO-Como destruir uma instancia especifica de um objeto
por josuedemoraes Ter 23 Jul 2024, 00:40

» Automatizar a coleta de id
por GabrielXavier Seg 22 Jul 2024, 18:01

» Preciso de ajuda para concluir um pequeno projeto
por lmoura Qui 27 Jun 2024, 15:45

» ANGULO ACOMPANHAR O OBJETO
por Klinton Rodrigues Qui 27 Jun 2024, 08:34

» Musica reinicia quando sala reinicia
por GabrielXavier Ter 18 Jun 2024, 07:28

» como fazer uma copia de gd
por generico_cube Sex 14 Jun 2024, 15:48

» Square Adventure
por guilherme551 Ter 11 Jun 2024, 09:54

» como posso definir limite de uma variavel
por GabrielXavier Sex 07 Jun 2024, 14:14

» [Resolvido] Dúvida, colisão única de objeto
por vdm842 Sex 24 maio 2024, 09:50


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

- Tópicos semelhantes

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