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
sistema de movimentação de personagem
4 participantes
Página 1 de 1
sistema de movimentação de personagem
Oi galera, meu primeiro tópico!
estou acompanhando bastante o fórum e aprendendo um monte com os posts, muito bom trabalho, já indiquei a vários amigos, mas acredito que estou com uma dúvida bem específica que não está aqui, ou eu não soube juntar as peças.
Estou criando um jogo em que o movimento do personagem é realizado em posições fixas num grid de 6 casas. Similar aqueles joguinhos de corrida bem antigos.
Imagina esse sistema em que existem 4 posições apenas, cada uma tem uma coordenada fixa e um desenho diferente do outro.
A questão é, não estou conseguindo controlar isso;
a lógica que estou tentando fazer é gerar 1 variável para cada posição (já que são poucas), e então, usar o teclado para ficar trocando de váriável, (cada toque no direcional troca a variável), ao mesmo tempo em que a troca acende e apaga os objetos.
Minhas dúvidas são;
- a melhor maneira de fazer os objetos acenderem e apagarem de acordo com uma variável. Estou tentando usar 'visible = true/false'. Mas ainda não deu certo.
- o controle da variável (que é o controle do jogo), código que indica como as setas direcionais mudam as variáveis, tem q ficar em que objeto? Devo criar um objeto invisível e específico só pra ele? aplico no add event>create ou no add event>game start?
- em que objeto eu posso iniciar as variáveis de maneira mais eficaz?
- o grid de posicionamento do comando draw sprite (x, y) parece que é diferente das coordenadas que podemos ver na janela de room. São duas coordenadas diferentes?
Minhas limitações são;
- os objetos devem se mover apenas nas 'casas' específicas e cada uma delas tem um desenho (sprite) específico.
- o objeto só muda (de casa e de sprite) quando o jogador indica alguma direção
- os sprites além de desenhos diferentes, tem tamanhos diferentes também.
Desculpa as delongas, mas acho que todas essas duvidas são referentes a um único problema, que ainda estou tentando encontrar a melhor maneira de solucionar. É isso, obrigado desde já a quem puder ajudar. Flws
estou acompanhando bastante o fórum e aprendendo um monte com os posts, muito bom trabalho, já indiquei a vários amigos, mas acredito que estou com uma dúvida bem específica que não está aqui, ou eu não soube juntar as peças.
Estou criando um jogo em que o movimento do personagem é realizado em posições fixas num grid de 6 casas. Similar aqueles joguinhos de corrida bem antigos.
Imagina esse sistema em que existem 4 posições apenas, cada uma tem uma coordenada fixa e um desenho diferente do outro.
A questão é, não estou conseguindo controlar isso;
a lógica que estou tentando fazer é gerar 1 variável para cada posição (já que são poucas), e então, usar o teclado para ficar trocando de váriável, (cada toque no direcional troca a variável), ao mesmo tempo em que a troca acende e apaga os objetos.
Minhas dúvidas são;
- a melhor maneira de fazer os objetos acenderem e apagarem de acordo com uma variável. Estou tentando usar 'visible = true/false'. Mas ainda não deu certo.
- o controle da variável (que é o controle do jogo), código que indica como as setas direcionais mudam as variáveis, tem q ficar em que objeto? Devo criar um objeto invisível e específico só pra ele? aplico no add event>create ou no add event>game start?
- em que objeto eu posso iniciar as variáveis de maneira mais eficaz?
- o grid de posicionamento do comando draw sprite (x, y) parece que é diferente das coordenadas que podemos ver na janela de room. São duas coordenadas diferentes?
Minhas limitações são;
- os objetos devem se mover apenas nas 'casas' específicas e cada uma delas tem um desenho (sprite) específico.
- o objeto só muda (de casa e de sprite) quando o jogador indica alguma direção
- os sprites além de desenhos diferentes, tem tamanhos diferentes também.
Desculpa as delongas, mas acho que todas essas duvidas são referentes a um único problema, que ainda estou tentando encontrar a melhor maneira de solucionar. É isso, obrigado desde já a quem puder ajudar. Flws
7hiagomp- Data de inscrição : 21/04/2014
Reputação : 24
Número de Mensagens : 124
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: sistema de movimentação de personagem
Rapaz, vc deu sorte que eu ia desenvolver um jogo tipo isso, exatamente com 4 casas, o resto é caso de você adaptar. Só está feita a movimentação! A engine tá aí, para GMS e se tiver dificuldades, você pode abrir com o winrar.
http://sharesend.com/q0g6aw26
http://sharesend.com/q0g6aw26
Gabreel- Data de inscrição : 02/10/2009
Reputação : 52
Número de Mensagens : 2232
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
- Game Maker Studio 2.0
- Javascript
- Outros
Re: sistema de movimentação de personagem
Gabreel, obrigadão pelo arquivo, mas não era bem isso. O seu personagem está se movimentando para os lados e ele sempre tem a mesma animação.
o caso que estou tentando solucionar tem desenhos diferentes e não tem "movimento". Os objs apagam de um lado e acendem em outro.
mas obrigadão.
o caso que estou tentando solucionar tem desenhos diferentes e não tem "movimento". Os objs apagam de um lado e acendem em outro.
mas obrigadão.
7hiagomp- Data de inscrição : 21/04/2014
Reputação : 24
Número de Mensagens : 124
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: sistema de movimentação de personagem
Como eu disse, é questão de adaptar. É exatamente a mesma coisa, só que com outros efeitos!
Gabreel- Data de inscrição : 02/10/2009
Reputação : 52
Número de Mensagens : 2232
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
- Game Maker Studio 2.0
- Javascript
- Outros
Re: sistema de movimentação de personagem
Bom, você pode tanto ter 4 objetos e colocar variaveis em cada um deles - essas variáveis vão controlar colisões e o desenho da sprite - como também ter um objeto só para as 4 direções, apenas desenhando cada uma de acordo com o valor de uma variável "player_atual".
É importante declarar a origem da sprite num ponto comum entre as quatro para evitar problemas de posicionamento - aliás, isso responde sua 4ª dúvida: como a sprite vai aparecer na room vai depender da origem dela. Ou o "offset" ( basicamente, vai ser desenhado do resultado de [posição]-[origem] ). Se elas tem tamanhos diferentes, só definir a origem num ponto em que quando forem jogadas nas coordenadas, não fiquem desalinhadas, como já falei. As coordenadas são uma só, aquela grid é só para efeito de posicionamento, não há um sistema de "unidades", digamos assim.
Um esboçozinho (clique no spoiler para abrir):
Suponho que já tenha algum tipo de experiência com GML, já que você já está a um tempo frequentando o fórum [e indicando aos amigos, pergunto, você tem alguma experiência no ramo de gamedev também? ].
Abraços o/
É importante declarar a origem da sprite num ponto comum entre as quatro para evitar problemas de posicionamento - aliás, isso responde sua 4ª dúvida: como a sprite vai aparecer na room vai depender da origem dela. Ou o "offset" ( basicamente, vai ser desenhado do resultado de [posição]-[origem] ). Se elas tem tamanhos diferentes, só definir a origem num ponto em que quando forem jogadas nas coordenadas, não fiquem desalinhadas, como já falei. As coordenadas são uma só, aquela grid é só para efeito de posicionamento, não há um sistema de "unidades", digamos assim.
Um esboçozinho (clique no spoiler para abrir):
- Spoiler:
- Create:
- Código:
player_atual = 1
player1_posx = 40 // Posição x do player 1
player2_posx = 150 // "" do 2
player3_posx = 350 // E assim vai
player4_posx = 580
player_sprite = spr_player2 // Variavel geral
player_posx = player2_posx // Variavel geral
player_posy = room_height-30; // Definida corretamente a origem, da pra colocar todas no mesmo eixo
- Código:
// Apertou esquerda e a variavel esta nos limites
if (keyboard_check_pressed(vk_left) and player_atual > 1) {
player_atual -= 1
// Apertou direita
} else if (keyboard_check_pressed(vk_right) and player_atual < 4) {
player_atual += 1
}
switch(player_atual) {
case 1:
player_posx = player1_posx;
player_sprite = spr_player1;
break;
case 2:
player_posx = player2_posx;
player_sprite = spr_player2;
break;
case 3:
player_posx = player3_posx;
player_sprite = spr_player3;
break;
case 4:
player_posx = player4_posx;
player_sprite = spr_player4;
break;
}
- Código:
draw_sprite(player_sprite,image_index,player_posx,player_posy); // Usando image_index da ate pra você fazer uma animaçãozinha
Suponho que já tenha algum tipo de experiência com GML, já que você já está a um tempo frequentando o fórum [e indicando aos amigos, pergunto, você tem alguma experiência no ramo de gamedev também? ].
Abraços o/
Markituh- Games Ranking :
Data de inscrição : 11/10/2009
Reputação : 106
Número de Mensagens : 2184
Prêmios :
x 0 x 1 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: sistema de movimentação de personagem
tenho um pouquinho de experiência só, sempre aprendendo =).
vou tentar aplicar aqui.
vou tentar aplicar aqui.
7hiagomp- Data de inscrição : 21/04/2014
Reputação : 24
Número de Mensagens : 124
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: sistema de movimentação de personagem
olá, não sei bem como é esse jogo, mais pelo oque vi, ele pode ser feito com apenas o draw, sem precisar criar varios objetos. a colisão seria feita em retangulo e um unico objeto desenharia o seu personagem.
ou até mesmo criar um unico objeto para checar a colisão...
acredito que com isso seu jogo ficaria até mais leve ;)
flw, vlw
ou até mesmo criar um unico objeto para checar a colisão...
acredito que com isso seu jogo ficaria até mais leve ;)
flw, vlw
Re: sistema de movimentação de personagem
obrigado pela ajuda.
eu já terminei praticamente essa parte. estou apenas corrigindo os bugs agora.
Realmente é um sistema de movimentação bem particular, que eu não tinha tentado antes, mas agora já está resolvido. O que fiz foi mais ou menos o que descrevi antes. pus uma variável em cada casa, e fiz que o teclado alterasse a variável, depois pra checar a colisão apenas pedi para conferir se as variáveis eram iguais no disparador e no alvo. Assim que estiver com menos bugs eu posto aqui mesmo.
o jogo está praticamente terminado e tem 4Mb
obrigado pela ajuda.
eu já terminei praticamente essa parte. estou apenas corrigindo os bugs agora.
Realmente é um sistema de movimentação bem particular, que eu não tinha tentado antes, mas agora já está resolvido. O que fiz foi mais ou menos o que descrevi antes. pus uma variável em cada casa, e fiz que o teclado alterasse a variável, depois pra checar a colisão apenas pedi para conferir se as variáveis eram iguais no disparador e no alvo. Assim que estiver com menos bugs eu posto aqui mesmo.
o jogo está praticamente terminado e tem 4Mb
obrigado pela ajuda.
7hiagomp- Data de inscrição : 21/04/2014
Reputação : 24
Número de Mensagens : 124
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Tópicos semelhantes
» Movimentação do personagem
» Movimentação do personagem
» movimentacão do personagem
» Movimentação de personagem
» Problema com movimentação de personagem
» Movimentação do personagem
» movimentacão do personagem
» Movimentação de personagem
» Problema com movimentação de personagem
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos