Entrar
Últimos assuntos
» player não consegue andarpor 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
[Resolvido]Movimento/troca de sprites estilo zelda nes
+3
WellingtonBecker
Superbomber
jailson_dante
7 participantes
Página 1 de 1
[Resolvido]Movimento/troca de sprites estilo zelda nes
Olá pessoal do GM brasil! Estou aki mais uma vez para pedir um auxilio.
Eu estou fazendo um jogo estilo the legendo of zelda a link to the past, alguem ja jogol?
Bem, eu queria fezer os movimentos com as setas e mudando de sprites, até ai eu sei fazer mas uma coisa que eu percebi é q link tipo trava a direção que esta olhando quando pressiono duas teclas, tipo, quando ando pra direita e aperto para cima segurando o botão direito ele ainda continua olhando para a direita... e daí vai...
eu queria uma base de como faço isso em condigo. Desde já agradeço.
Eu estou fazendo um jogo estilo the legendo of zelda a link to the past, alguem ja jogol?
Bem, eu queria fezer os movimentos com as setas e mudando de sprites, até ai eu sei fazer mas uma coisa que eu percebi é q link tipo trava a direção que esta olhando quando pressiono duas teclas, tipo, quando ando pra direita e aperto para cima segurando o botão direito ele ainda continua olhando para a direita... e daí vai...
eu queria uma base de como faço isso em condigo. Desde já agradeço.
jailson_dante- Data de inscrição : 10/11/2014
Reputação : 0
Número de Mensagens : 15
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: [Resolvido]Movimento/troca de sprites estilo zelda nes
'-'-'-'-'-'-'-'. Isso é um bug cara, '-'-'-'-'-'-'-''-
Quer refazer um bug pq? '-'-'-'-'-'-'-'-'-'-'
Bom, mas esse é o mais comum dos bugs. Só fazer algo assim que você consegue repeti-lo:
'-'
Quem ficar embaixo é quem vai mudar o sprite por ultimo. '-''-'-'-'-'-'-'-'-'
Tão ta, espero que tenha bugado seu jogo com sucesso. flw '-'-'-'-'-'-'-'-'-'-'
ATENÇÃO!!!!!!!!!!!!!!!
O código acima é um exemplo.
Quer refazer um bug pq? '-'-'-'-'-'-'-'-'-'-'
Bom, mas esse é o mais comum dos bugs. Só fazer algo assim que você consegue repeti-lo:
'-'
- Código:
if(keyboard_check(vk_up)){
y -= 5;
sprite_index = movendo_pra_cima;
}
if(keyboard_check(vk_right)){
x += 5;
sprite_index = movendo_pra_direita;
}
//Os outros dois
//Não esqueça que é só um exemplo, faça o movimento do jeito que
//você faz com uma estrutura de if's semelhante à acima
Quem ficar embaixo é quem vai mudar o sprite por ultimo. '-''-'-'-'-'-'-'-'-'
Tão ta, espero que tenha bugado seu jogo com sucesso. flw '-'-'-'-'-'-'-'-'-'-'
ATENÇÃO!!!!!!!!!!!!!!!
O código acima é um exemplo.
Última edição por Superbomber em Ter 09 Jun 2015, 15:19, editado 1 vez(es)
Superbomber- Games Ranking :
Data de inscrição : 28/04/2015
Reputação : 47
Número de Mensagens : 100
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: [Resolvido]Movimento/troca de sprites estilo zelda nes
Amigo, talvez meu tutorial/engine aqui abaixo na minha assinatura possa te ajudar. Movimento topdown.
WellingtonBecker- Games Ranking :
Notas recebidas : D
Data de inscrição : 09/05/2013
Reputação : 105
Número de Mensagens : 824
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: [Resolvido]Movimento/troca de sprites estilo zelda nes
Amigo Superbomber, se isso é um bug eu não sabia, mas é que ele funciona em todas as setas, no caso do zelda, e não em algumas no caso do seu cóndigo. Mas valew.
E amigo WellingtonBecker, seu sistema é muito legal, mas ele faz a mesma função do meu, mas obrigado pela resposta. o tópico ainda esta aberto.
E amigo WellingtonBecker, seu sistema é muito legal, mas ele faz a mesma função do meu, mas obrigado pela resposta. o tópico ainda esta aberto.
jailson_dante- Data de inscrição : 10/11/2014
Reputação : 0
Número de Mensagens : 15
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: [Resolvido]Movimento/troca de sprites estilo zelda nes
Cof! Cof! Ninguém nunca leu um dicionário na vida? Cof! Cof!
Como falei, era só um exemplo. '-'-'-'-'-'-'-'-'
'-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-'
Como falei, era só um exemplo. '-'-'-'-'-'-'-'-'
- Código:
//Os outros dois(os outros dois códigos para as outras duas teclas)
//Não esqueça que é só um exemplo, faça o movimento do jeito que
//você faz com uma estrutura de if's semelhante à acima
'-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-''-'-'
Superbomber- Games Ranking :
Data de inscrição : 28/04/2015
Reputação : 47
Número de Mensagens : 100
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: [Resolvido]Movimento/troca de sprites estilo zelda nes
Eu entendi que isso é um exemplo, mas é a base. mesmo assim agradeço por sua atenção. Vou tentar explicar melhor. é como se a primeira posição que ele fica fosse a predominante. Como eu disse:
se eu apertar a tecla seta para baixo, o personagem vai andar olhando pra frente (no caso do topdown) e segurando a mesma tecla e apertando pra direita ou esquerda ele anda nas diagonais ainda olhando para frente, e o mesmo acontece com as outras teclas. Por favor mim ajudem.
se eu apertar a tecla seta para baixo, o personagem vai andar olhando pra frente (no caso do topdown) e segurando a mesma tecla e apertando pra direita ou esquerda ele anda nas diagonais ainda olhando para frente, e o mesmo acontece com as outras teclas. Por favor mim ajudem.
jailson_dante- Data de inscrição : 10/11/2014
Reputação : 0
Número de Mensagens : 15
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: [Resolvido]Movimento/troca de sprites estilo zelda nes
Um jeito de fazer é verificar a primeira tecla pressionada, colocar o player em um estado movendo pra esse lado, checar se outras teclas estão sendo pressionadas (sem trocar o sprite), e, quando o botão da primeira pressionada for solto, ai voltar ao estado inicial, verificar se algum tecla está sendo pressionada e repetir o processo.
Re: [Resolvido]Movimento/troca de sprites estilo zelda nes
Certo... O personagem se move em quatro direções, portanto, temos quatro sprites diferentes.
É possível andar para a direita e para a esquerda ao mesmo tempo? Não, pois são direções totalmente opostas. Ou seja, devemos garantir que apenas uma direção seja executada.
Vou apontar um erro muito comum entre iniciantes baseado no código que o Superbomber deu de exemplo, incrementando com as outras duas direções que faltam:
Um dos princípios básicos da lógica de programação são as estruturas de if e de if-else. Como precisamos garantir que apenas uma direção seja executada, devemos encadear os códigos usando if-else ao invés de apenas ifs. Isso garantirá que apenas um código será executado e que a direção certa do sprite será tratada, ou seja, o código deve ficar parecido com isso:
Me estendi um pouco, mas acho que fui claro.
Se tiver dúvidas, manifeste-se!
Flws...
É possível andar para a direita e para a esquerda ao mesmo tempo? Não, pois são direções totalmente opostas. Ou seja, devemos garantir que apenas uma direção seja executada.
Vou apontar um erro muito comum entre iniciantes baseado no código que o Superbomber deu de exemplo, incrementando com as outras duas direções que faltam:
- Spoiler:
- Código:
if(keyboard_check(vk_up)){
y -= 5;
sprite_index = movendo_pra_cima;
}
if(keyboard_check(vk_down)){
y += 5;
sprite_index = movendo_pra_baixo;
}
if(keyboard_check(vk_right)){
x += 5;
sprite_index = movendo_pra_direita;
}
if(keyboard_check(vk_left)){
x -= 5;
sprite_index = movendo_pra_esquerda;
}
Um dos princípios básicos da lógica de programação são as estruturas de if e de if-else. Como precisamos garantir que apenas uma direção seja executada, devemos encadear os códigos usando if-else ao invés de apenas ifs. Isso garantirá que apenas um código será executado e que a direção certa do sprite será tratada, ou seja, o código deve ficar parecido com isso:
- Spoiler:
- Código:
if(keyboard_check(vk_up)){
y -= 5;
sprite_index = movendo_pra_cima;
}else if(keyboard_check(vk_down)){
y += 5;
sprite_index = movendo_pra_baixo;
}else if(keyboard_check(vk_right)){
x += 5;
sprite_index = movendo_pra_direita;
}else if(keyboard_check(vk_left)){
x -= 5;
sprite_index = movendo_pra_esquerda;
}
Me estendi um pouco, mas acho que fui claro.
Se tiver dúvidas, manifeste-se!
Flws...
Re: [Resolvido]Movimento/troca de sprites estilo zelda nes
Caros amigos do GM brasil. Muito obrigado pela atenção de vocês e pelas respostas. Ontem a noite eu estava tentando resolver esse problema e consegui! Estou sem internet por isso não respondi de imediato. Não estou com o código aqui, pq to teclando do trabalho, mas eu fiz o que o nosso amigo matheusco falou e deu super certo, identifiquei as teclas com vaiáveis e fiz as condições e deu tudo certo do jeito que eu queria. Valew a todos! Hoje eu não tenho tempo mas depois eu posto o código. Valew! Tópico resolvido!
jailson_dante- Data de inscrição : 10/11/2014
Reputação : 0
Número de Mensagens : 15
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: [Resolvido]Movimento/troca de sprites estilo zelda nes
tipo, quando ando pra direita e aperto para cima segurando o botão direito ele ainda continua olhando para a direita... e daí vai...
Mas jovem??? o link anda assim mesmo!!! conheço ele desde que ele nasceu kkkkkk (Melhor jogo da historia link to the past).
Pelo seu exemplo, se vc soltar a direita ai sim ele olha para cima. Ele não tem sprite para diagonal.
chicoweb- Games Ranking :
Notas recebidas : B+C
Data de inscrição : 15/05/2012
Reputação : 49
Número de Mensagens : 675
Prêmios :
x 0 x 0 x 0
x 1 x 0 x 0
x 0 x 0 x 0
Re: [Resolvido]Movimento/troca de sprites estilo zelda nes
Porque ninguém usa motion_set(...)? É desvantajoso usar essa função, ou só é pouco típica entre os programadores ?
Última edição por Lighter em Sex 12 Jun 2015, 18:52, editado 1 vez(es)
Re: [Resolvido]Movimento/troca de sprites estilo zelda nes
motion_set é "genérico de speed".
Programadores mais experientes sabe que o uso de funções variadas de speed costumam dar bastante problema quando o assunto é colisão.
Programadores mais experientes sabe que o uso de funções variadas de speed costumam dar bastante problema quando o assunto é colisão.
Re: [Resolvido]Movimento/troca de sprites estilo zelda nes
Willy escreveu:motion_set é "genérico de speed".
Programadores mais experientes sabe que o uso de funções variadas de speed costumam dar bastante problema quando o assunto é colisão.
Faz sentido, até porque essas funções estão nos demos do GM. De colisões você entende né willy rsrsrs. flw
Tópicos semelhantes
» Ajuda com troca de sprites em movimento
» [Help]Movimento com mouse, com troca de sprites.
» [Resolvido]Ajuda com troca de sprites
» [resolvido] Onde se encontra uma apostila para desenhar estilo ragnarok as sprites?
» (RESOLVIDO) Engasgos-Troca de Sprites/animações
» [Help]Movimento com mouse, com troca de sprites.
» [Resolvido]Ajuda com troca de sprites
» [resolvido] Onde se encontra uma apostila para desenhar estilo ragnarok as sprites?
» (RESOLVIDO) Engasgos-Troca de Sprites/animações
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos