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
Coordenadas das balas
3 participantes
Página 1 de 1
Coordenadas das balas
Pessoal, estou praticando no GM:S, e resolvi tentar criar um joguinho (meio tosco até) de tiro, mas, não sou bom com coordenas, e as vezes quando aperto X a bala não "sai" ou entao "sai" debaixo do player, se alguem (uma alma muito caridosa) puder me ajudar ...
Arquivo do Jogo: https://www.dropbox.com/s/5ihhxq688b6hef0/Tiro.gmz
- Código:
//Step player
//Tiro
if keyboard_check_pressed(ord("X")) {
if global.municao > 0 {
if image_index = 1 {
global.municao -= 1
with(instance_create(x+32,y-38,obj_Bala)) {
motion_set(0,20)
}
} else if image_index = -1 {
global.municao -= 1
with(instance_create(x+32,y-38,obj_Bala)) {
motion_set(180,20)
}
}
}
}
Arquivo do Jogo: https://www.dropbox.com/s/5ihhxq688b6hef0/Tiro.gmz
vitorfernandes13- Games Ranking :
Notas recebidas : C
Data de inscrição : 11/01/2014
Reputação : 11
Número de Mensagens : 284
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Coordenadas das balas
Coordenadas... Não existe nenhum segredo nisso.
Para o GM, uma coordenada X representa uma posição horizontal, e uma coordenada Y, uma vertical. Tenho essas duas coordenadas, temos então uma posição (um pixel, pra ser mais especifico).
Certo, como você quer fazer um tiro, você deverá criar o projétil em uma posição relativa à coordenada do player, e você faz isso, usando a variável x e y do próprio jogador.
Mas, conforme eu disse antes, um x e um y formam uma posição, e é ela que importa. Tal posição depende do origin do sprite do jogador. Se ela estiver na posição x0 e y0 (canto superior esquerdo), então deveremos "contar" quantos pixeis horizontais devemos percorrer para chegar até a ponta da arma, e depois, o mesmo com o y, definindo então qual será a posição que a bala deverá ser criada. Se o origin for outro (center, por exemplo), você deverá fazer o processo mais uma vez para achar a posição da bala. Em outras palavras, o que você deve colocar no "instance_create(x+valor,y+valor,obj)" é a distancia entre o origin e a coordenada da ponta da arma (horizontalmente e verticalmente).
Dúvidas é só falar.
Para o GM, uma coordenada X representa uma posição horizontal, e uma coordenada Y, uma vertical. Tenho essas duas coordenadas, temos então uma posição (um pixel, pra ser mais especifico).
Certo, como você quer fazer um tiro, você deverá criar o projétil em uma posição relativa à coordenada do player, e você faz isso, usando a variável x e y do próprio jogador.
Mas, conforme eu disse antes, um x e um y formam uma posição, e é ela que importa. Tal posição depende do origin do sprite do jogador. Se ela estiver na posição x0 e y0 (canto superior esquerdo), então deveremos "contar" quantos pixeis horizontais devemos percorrer para chegar até a ponta da arma, e depois, o mesmo com o y, definindo então qual será a posição que a bala deverá ser criada. Se o origin for outro (center, por exemplo), você deverá fazer o processo mais uma vez para achar a posição da bala. Em outras palavras, o que você deve colocar no "instance_create(x+valor,y+valor,obj)" é a distancia entre o origin e a coordenada da ponta da arma (horizontalmente e verticalmente).
Dúvidas é só falar.
Re: Coordenadas das balas
Willy escreveu:Coordenadas... Não existe nenhum segredo nisso.
Para o GM, uma coordenada X representa uma posição horizontal, e uma coordenada Y, uma vertical. Tenho essas duas coordenadas, temos então uma posição (um pixel, pra ser mais especifico).
Certo, como você quer fazer um tiro, você deverá criar o projétil em uma posição relativa à coordenada do player, e você faz isso, usando a variável x e y do próprio jogador.
Mas, conforme eu disse antes, um x e um y formam uma posição, e é ela que importa. Tal posição depende do origin do sprite do jogador. Se ela estiver na posição x0 e y0 (canto superior esquerdo), então deveremos "contar" quantos pixeis horizontais devemos percorrer para chegar até a ponta da arma, e depois, o mesmo com o y, definindo então qual será a posição que a bala deverá ser criada. Se o origin for outro (center, por exemplo), você deverá fazer o processo mais uma vez para achar a posição da bala. Em outras palavras, o que você deve colocar no "instance_create(x+valor,y+valor,obj)" é a distancia entre o origin e a coordenada da ponta da arma (horizontalmente e verticalmente).
Dúvidas é só falar.
De fato, não levei em consideração o origin do player, mas, mesmo assim, está tendo bug, tenho que apertar X varias vezes para que o tiro apareça, e quando o personagem está virado para a esquerda, a bala vai para direita :Pmesmo eu mudando o motion_set dela.
vitorfernandes13- Games Ranking :
Notas recebidas : C
Data de inscrição : 11/01/2014
Reputação : 11
Número de Mensagens : 284
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Coordenadas das balas
Nem cheguei a ler o seu código, considerei que sua dúvida era apenas em "ajustar" o lugar por onde sai o tiro.
Bom, agora que olhei seu código:
Recomendo que apague todo seu código e faça novamente, buscando deixar o código de forma mais clara. Para saber se está claro, basta tentar "ler" co código como se fosse um texto qualquer e ver se o mesmo faz sentido.
Bom, agora que olhei seu código:
Isso é porque você usou essa condição:Você escreveu:tenho que apertar X varias vezes para que o tiro apareça
- Código:
if image_index = 1
Isso porque a condição do tiro pra esquerda nunca será atendida justamente por causa do "-1".Você escreveu:quando o personagem está virado para a esquerda, a bala vai para direita
Recomendo que apague todo seu código e faça novamente, buscando deixar o código de forma mais clara. Para saber se está claro, basta tentar "ler" co código como se fosse um texto qualquer e ver se o mesmo faz sentido.
Re: Coordenadas das balas
Amigo, aqui tem a solução para seu problema:
https://gmbr.forumeiros.com/t17061-engine-tiro-plataforma
https://gmbr.forumeiros.com/t17061-engine-tiro-plataforma
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: Coordenadas das balas
Willy escreveu:Nem cheguei a ler o seu código, considerei que sua dúvida era apenas em "ajustar" o lugar por onde sai o tiro.
Bom, agora que olhei seu código:Isso é porque você usou essa condição:Você escreveu:tenho que apertar X varias vezes para que o tiro apareçaCom isso, a condição só será true quando o sprite estiver exatamente no frame 1, ou seja, supondo que eu sprite tenha 10 frames, você tem apenas 10% de conseguir disparar. Não vejo lógica nesta condição. Outra coisa, para a esquerda, você usou if image_index = -1. Este "-1" é simplesmente nenhum frame, uma vez que o primeiro é sempre o zero.
- Código:
if image_index = 1
Isso porque a condição do tiro pra esquerda nunca será atendida justamente por causa do "-1".Você escreveu:quando o personagem está virado para a esquerda, a bala vai para direita
Recomendo que apague todo seu código e faça novamente, buscando deixar o código de forma mais clara. Para saber se está claro, basta tentar "ler" co código como se fosse um texto qualquer e ver se o mesmo faz sentido.
Acho que descobri o erro, na verdade eu usei a função errada
Na verdade o correto era image_xscale e não image_index, modifiquei aqui, espero que agora dê certo
--
EDIT: Deu certo. Vlw Willy e obg por responder o topico Wellington
vitorfernandes13- Games Ranking :
Notas recebidas : C
Data de inscrição : 11/01/2014
Reputação : 11
Número de Mensagens : 284
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Coordenadas das balas
Acostume-se com esse tipo de erro... É mais comum do que imagina! Eu mesmo já passei horas tentando consertar algum bug criando fórmulas mirabolantes, quando na verdade, era um simples detalhe que passou despercebido...
Bom, o tópico está resolvido e o mesmo será trancado. Caso deseje destrancar, envie uma MP para mim ou para outro moderador.
Flws...
Bom, o tópico está resolvido e o mesmo será trancado. Caso deseje destrancar, envie uma MP para mim ou para outro moderador.
Flws...
Tópicos semelhantes
» coordenadas
» condição de coordenadas
» Mapa coordenadas ?
» Criar obj em coordenadas de uma variavel com id de instância
» Duvida criar objeto em coordenadas aleatorias
» condição de coordenadas
» Mapa coordenadas ?
» Criar obj em coordenadas de uma variavel com id de instância
» Duvida criar objeto em coordenadas aleatorias
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos