Entrar
Últimos assuntos
» Alguém aqui já ganha dinheiro com seus games?por theguitarmester Ter 30 Abr 2024, 11:43
» Colisões não funcionando
por theguitarmester Ter 30 Abr 2024, 10:16
» Como ajustar velocidade de cada frame da animação no game maker
por pequetux Sex 26 Abr 2024, 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
» 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
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
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos