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
» Retorno da GMBR!!!
por theguitarmester Ter 19 Mar 2024, 22:38

» Procuro Programador de game maker
por Wou Sex 15 Mar 2024, 10:27

» Mod APK
por gamerainha Qua 13 Mar 2024, 06:30

» Mudar cor de apenas uma palavra
por lunalol Sex 01 Mar 2024, 13:42

» 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

» Versionamento de código com GitHub
por GabrielXavier Seg 08 Jan 2024, 07:32

» Rio Rise - novo launcher do Gta San Andreas SAMP Brasil
por kolesovsup Sex 29 Dez 2023, 07:16

» a funçao approach ainda existe?
por PEDRINDEV Ter 26 Dez 2023, 20:05

» Inimigo ataca até por trás! >:(
por saim Sex 22 Dez 2023, 08:55

» [RESOLVIDO]Spawn após morte
por Deception_1999 Dom 17 Dez 2023, 16:39

» Remunerado $$$ - Procuro programador para ajudar a "montar" um jogo
por theguitarmester Sáb 02 Dez 2023, 16:28

» Game maker nao abre
por Cerf Dom 26 Nov 2023, 12:01


Unir sprites

3 participantes

Ir para baixo

Unir sprites Empty Unir sprites

Mensagem por petterwin Qui 16 Jan 2014, 16:02

Bom tarde, meu primeiro post!
No meu primeiro projeto, o player principal tem como objetivo andar para os lados direito e esquerdo e pular e atirar em relacão as cordenadas x, y do mouse. A minha duvida é, como fazer o corpo andar e a cabeça olhar para essas cordenadas do mouse? A minha ideia era editar o sprite tirando a cabeca e criar um novo sprite, unindo-o ao corpo, formando o player, mas não sei como unir os dois sprites.
Obrigado!
petterwin
petterwin

Data de inscrição : 16/01/2014
Reputação : 0
Número de Mensagens : 5
Prêmios : Unir sprites 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

Unir sprites Empty Re: Unir sprites

Mensagem por Lighter Qui 16 Jan 2014, 17:03

Faça:

obj_cabeca
obj_corpo

*PARA UNIR AS SPRITES*

No evento create do corpo coloque esse código:
Código:

instance_create(x,y,obj_cabeca) //isso fara o objeto cabeça ser criado no x e y do objeto corpo.
global.esquerda = false //variavel para ter certeza que ele esta andando para esquerda
global.direita = false //variavel para ter certeza que ele esta andando para direito

No evento step do obj_corpo coloque esse código:
Código:

if keyboard_check(vk_left) then //caso aperte <-
 x-=3//ele anda para a esquerda (3p)
 global.esquerda = true //ele anda para esquerda

else
 global.esquerda = false //se não ele nao anda

if keyboard_check(vk_right) then //caso aperte ->
 x+=3 // ele anda 3 pixels para a direita //ele anda para direita
 global.direita = true

else
 global.direita = false//se não ele não anda

No evento step do obj_cabeca coloque esse código:

Código:

x = obj_corpo.x // esse código fara o obj_cabeca andar de acordo com o obj_corpo
y = obj_corpo.y

*PARA A CABEÇA OLHAR PARA O ANGULO DO MOUSE*

No step do obj_cabeca acrescente mais esse código
Código:

image_angle = point_direction(x,y,mouse_x,mouse_y) //obj_cabeca olhar para o angulo do mouse

*PARA O PERSONAGEM OLHAR PARA DIREÇÃO QUE ESTA ANDANDO*

No step do obj_cabeca e do obj_corpo coloque esse código
Código:

if global.direita = true then //caso ele esteje andando para a direita
 image_xscale = 1 //o objeto estara virado para direita

else //se não

if global.esquerda = true then // ele ira vira para esquerda
 image_xscale = -1//o objeto estara virado para esquerda
Lighter
Lighter

Games Ranking : Sem avaliações

Data de inscrição : 16/01/2014
Reputação : 31
Número de Mensagens : 317
Prêmios : Unir sprites Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 1 Bronze x 0

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

http://google.com

Ir para o topo Ir para baixo

Unir sprites Empty Re: Unir sprites

Mensagem por petterwin Qui 16 Jan 2014, 17:33

Muito obrigado sprite. Me ajudou bastante!


Última edição por petterwin em Qui 16 Jan 2014, 19:21, editado 2 vez(es)
petterwin
petterwin

Data de inscrição : 16/01/2014
Reputação : 0
Número de Mensagens : 5
Prêmios : Unir sprites 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

Unir sprites Empty Re: Unir sprites

Mensagem por lucas.limeira.92 Qui 16 Jan 2014, 19:16

se fizer só isso, a cabeça vai ficar atrasada.
a sprite do objeto cabeça é desenhada no x e y do objeto cabeça, que fica seguindo o objeto corpo, isso acontece por default. se colocar o evento draw no objeto cabeça, o gm vai parar de desenhar a cabeça automaticamente. você vai precisar mandar ele desenhar a cabeça no evento draw do objeto cabeça. parece inútil, mas assim você vai poder mudar onde e como a sprite vai ser desenhada. é só colocar draw_sprite(sprite_index,image_index,obj_corpo.x,obj_corpo.y) no evento draw, que a sprite do objeto cabeça vai ser desenhada no x e y do objeto corpo, ao invez de ser desenhada no objeto que está seguindo ele, e isso acaba com o delay.
avatar
lucas.limeira.92

Data de inscrição : 01/05/2013
Reputação : 1
Número de Mensagens : 64
Prêmios : Unir sprites 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

Unir sprites Empty Re: Unir sprites

Mensagem por Lighter Qui 16 Jan 2014, 19:21

lucas.limeira.92 escreveu:se fizer só isso, a cabeça vai ficar atrasada.
a sprite do objeto cabeça é desenhada no x e y do objeto cabeça, que fica seguindo o objeto corpo, isso acontece por default. se colocar o evento draw no objeto cabeça, o gm vai parar de desenhar a cabeça automaticamente. você vai precisar mandar ele desenhar a cabeça no evento draw do objeto cabeça. parece inútil, mas assim você vai poder mudar onde e como a sprite vai ser desenhada. é só colocar draw_sprite(sprite_index,image_index,obj_corpo.x,obj_corpo.y) no evento draw, que a sprite do objeto cabeça vai ser desenhada no x e y do objeto corpo, ao invez de ser desenhada no objeto que está seguindo ele, e isso acaba com o delay.

Legal eu não sabia disso, vou arrumar meu code! vlw!
Lighter
Lighter

Games Ranking : Sem avaliações

Data de inscrição : 16/01/2014
Reputação : 31
Número de Mensagens : 317
Prêmios : Unir sprites Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 1 Bronze x 0

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

http://google.com

Ir para o topo Ir para baixo

Unir sprites Empty Re: Unir sprites

Mensagem por petterwin Qui 16 Jan 2014, 19:24

Obrigado,
Tem como eu limitar a altura do movimento da cabeca, porque ela ta rodando 360 graus? Exemplo, se a cabeca olha para cima demais, o mouse_x e o mouse_y desabilita?
Obrigado
petterwin
petterwin

Data de inscrição : 16/01/2014
Reputação : 0
Número de Mensagens : 5
Prêmios : Unir sprites 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

Unir sprites Empty Re: Unir sprites

Mensagem por Lighter Qui 16 Jan 2014, 19:33

altere o evento step da cabeça, coloque um limite de angulo

Código:

if image_angle<=90 and image_angle>=270 then
 image_angle = point_direction(x,y,mouse_x,mouse_y) //obj_cabeca olhar para o angulo do mouse

Ajudei? vc pode me ajudar tbm, apenas click: http://epicfreeprizes.com/?ref=5444911
Lighter
Lighter

Games Ranking : Sem avaliações

Data de inscrição : 16/01/2014
Reputação : 31
Número de Mensagens : 317
Prêmios : Unir sprites Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 1 Bronze x 0

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

http://google.com

Ir para o topo Ir para baixo

Unir sprites Empty Re: Unir sprites

Mensagem por petterwin Qui 16 Jan 2014, 19:40

Sprite escreveu:altere o evento step da cabeça, coloque um limite de angulo

Código:

if image_angle<=90 and image_angle>=270 then
 image_angle = point_direction(x,y,mouse_x,mouse_y) //obj_cabeca olhar para o angulo do mouse

Ajudei? vc pode me ajudar tbm, apenas click: http://epicfreeprizes.com/?ref=5444911

Olá, usando esse codigo mesmo mudando os angulos a cabeca fica travada, nao movimenta de acordo com o mouse, mas ela vira para os lados. Obs: Ja cliquei no link!  Laughing 
petterwin
petterwin

Data de inscrição : 16/01/2014
Reputação : 0
Número de Mensagens : 5
Prêmios : Unir sprites 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

Unir sprites Empty Re: Unir sprites

Mensagem por Lighter Qui 16 Jan 2014, 19:42

huahau, obrigado é e grande ajuda... estou criando uma engine para te ajudar melhor com o limite de angulo.. jaja posto mais um comentario
Lighter
Lighter

Games Ranking : Sem avaliações

Data de inscrição : 16/01/2014
Reputação : 31
Número de Mensagens : 317
Prêmios : Unir sprites Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 1 Bronze x 0

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

http://google.com

Ir para o topo Ir para baixo

Unir sprites Empty Re: Unir sprites

Mensagem por Lighter Qui 16 Jan 2014, 20:14

No step do obj_cabeca coloque:
Código:

if mouse_x>obj_cabeca.x{
 image_angle = point_direction(x,y,mouse_x,mouse_y)}

apesar de ser um código muito simples, quebrei um pouco a cabeça Very Happy. mas tai!
Lighter
Lighter

Games Ranking : Sem avaliações

Data de inscrição : 16/01/2014
Reputação : 31
Número de Mensagens : 317
Prêmios : Unir sprites Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 1 Bronze x 0

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

http://google.com

Ir para o topo Ir para baixo

Unir sprites Empty Re: Unir sprites

Mensagem por petterwin Qui 16 Jan 2014, 20:22

Funcionou perfeito! Obrigado ;))))
petterwin
petterwin

Data de inscrição : 16/01/2014
Reputação : 0
Número de Mensagens : 5
Prêmios : Unir sprites 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

Unir sprites Empty Re: Unir sprites

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