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
Não to conseguindo fazer código não mover enquanto
+3
NPH
Lukbebalduke
iSillum
7 participantes
Página 1 de 2
Página 1 de 2 • 1, 2
Não to conseguindo fazer código não mover enquanto
Não to conseguindo fazer código de não mover enquanto está no ar, estou usando:
Mas ele fico para quando eu uso isso, o que tem de errado?
- Código:
keyboard_check(vk_left) && !place_free(x,y-1)
Mas ele fico para quando eu uso isso, o que tem de errado?
Última edição por iSillum em Qui 24 Jan 2013, 14:28, editado 2 vez(es)
iSillum- Data de inscrição : 22/01/2013
Reputação : 0
Número de Mensagens : 72
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Não to conseguindo fazer código não mover enquanto
Que vc colocou not, veja:
keyboard_check(vk_left) && !place_free(x,y-1)
Lukbebalduke- Games Ranking :
Notas recebidas : B - B - A - B
Data de inscrição : 06/07/2011
Reputação : 30
Número de Mensagens : 765
Prêmios :
x 0 x 0 x 0
x 1 x 0 x 2
x 1 x 0 x 0
Re: Não to conseguindo fazer código não mover enquanto
pinpi escreveu:Que vc colocou not, veja:keyboard_check(vk_left) && !place_free(x,y-1)
Mas é isso mesmo, se houver algo sólido em baixo dele (chão) ele vai se mover, só que ele continua se movendo no ar.
iSillum- Data de inscrição : 22/01/2013
Reputação : 0
Número de Mensagens : 72
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Não to conseguindo fazer código não mover enquanto
Entao deve ser outra coisa, nao tem nada de errado no codigo.
Lukbebalduke- Games Ranking :
Notas recebidas : B - B - A - B
Data de inscrição : 06/07/2011
Reputação : 30
Número de Mensagens : 765
Prêmios :
x 0 x 0 x 0
x 1 x 0 x 2
x 1 x 0 x 0
Re: Não to conseguindo fazer código não mover enquanto
Posso te dar um bom exemplo para verificar isso, pois eu uso até demais!
código:
//create
noar=false;
//step
if (place_free(x,y+1)){gravity=0.4;noar=true;friction=0;}
else if !(place_free(x,y+1)){gravity=0;noar=false;friction=0.1;}
//teclado
if (noar=false)
{
if (keyboard_check(vk_right))and(hspeed<4){hspeed+=0.3;}
if (keyboard_check(vk_left))and(hspeed>-4){hspeed-=0.3;}
}
Eu uso muito isso em meus jogos de plataforma!
Qualquer dúvida, estou aí para ajudar quem for!
[edit]
-----
Esqueci de mencionar que quando for bater em algo sólido, no caso o chão, no código da colisão com o chao use vspeed=0!
código:
//create
noar=false;
//step
if (place_free(x,y+1)){gravity=0.4;noar=true;friction=0;}
else if !(place_free(x,y+1)){gravity=0;noar=false;friction=0.1;}
//teclado
if (noar=false)
{
if (keyboard_check(vk_right))and(hspeed<4){hspeed+=0.3;}
if (keyboard_check(vk_left))and(hspeed>-4){hspeed-=0.3;}
}
Eu uso muito isso em meus jogos de plataforma!
Qualquer dúvida, estou aí para ajudar quem for!
[edit]
-----
Esqueci de mencionar que quando for bater em algo sólido, no caso o chão, no código da colisão com o chao use vspeed=0!
NPH- Games Ranking :
Notas recebidas : B
Data de inscrição : 28/11/2010
Reputação : 58
Número de Mensagens : 504
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Plataformas :- Game Maker Studio 1.4
- Game Maker Studio 2.0
Re: Não to conseguindo fazer código não mover enquanto
bom se seu jogo for de plataforma e você está se referindo ao pulo, então é simples, troque
- Código:
keyboard_check(vk_left) && !place_free(x,y-1)
- Código:
keyboard_check(vk_left) and !vspeed=0
makgamer- Games Ranking :
Notas recebidas : D
Data de inscrição : 29/03/2009
Reputação : 7
Número de Mensagens : 941
Prêmios :
x 0 x 0 x 0
x 0 x 1 x 0
x 0 x 0 x 0
Plataformas :- Game Maker 8.0 ou 8.1
- Game Maker Studio 2.0
- Unity
- Java
- C#
- Javascript
- RPG Maker
- C ou C++
- Outros
Re: Não to conseguindo fazer código não mover enquanto
Acho que o código tá errado.
acho q deve ser assim :
keyboard_check(vk_left) && !place_free(x,y+1)
mudei só o sinal.
acho q deve ser assim :
keyboard_check(vk_left) && !place_free(x,y+1)
mudei só o sinal.
Zero.- Data de inscrição : 19/08/2010
Reputação : 47
Número de Mensagens : 1300
Prêmios :
x 0 x 0 x 0
x 1 x 0 x 0
x 0 x 0 x 0
Re: Não to conseguindo fazer código não mover enquanto
Faz sentido.FlyAway escreveu:Acho que o código tá errado.
acho q deve ser assim :
keyboard_check(vk_left) && !place_free(x,y+1)
mudei só o sinal.
Mas não explica porque o objeto CONSEGUE se mexer quando está no chão. Quer dizer, como ele estava antes (y-1), a função place_free deveria retornar true SEMPRE, impedindo o objeto de se mover em qualquer situação - a menos que ele estivesse prestes a tocar o teto.
A menos que a variável "solid" do objeto esteja marcada como "true". Nesse caso, pode ser que ele esteja colidindo consigo mesmo, permitindo movimentação em qualquer lugar.
saim- Games Ranking :
Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Reputação : 136
Número de Mensagens : 3033
Prêmios :
x 1 x 6 x 0
x 1 x 0 x 3
x 0 x 0 x 0
Re: Não to conseguindo fazer código não mover enquanto
pinpi escreveu:Entao deve ser outra coisa, nao tem nada de errado no codigo.
Eu verifiquei todos os códigos e realmente não tinha nada errado com esse código de cima, mas depois que eu concertei apareceu outro problema, ele não vai para os lados, mas se eu apertar algum botão eu para de pular até o final e começa a cair.
Tipo assim, eu pulo por exemplo até a altura 20, ele vai subindo normalmente mas se eu aperta right ou left, ele para de subir antes de chegar a 20 e começa a cair.
Como concerta?
Obrigado por me ajudar a resolver o primeiro problema todo mundo.
iSillum- Data de inscrição : 22/01/2013
Reputação : 0
Número de Mensagens : 72
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Não to conseguindo fazer código não mover enquanto
Pô pessoal, desculpa por isso, mas é brincadeira vocês não terem resolvido isso ainda.
Uma simples variável pra colisão e pornto, acabou. E eles viveram felizes para sempre fim! rsrs
Tenta isso @iSillum.
Uma simples variável pra colisão e pornto, acabou. E eles viveram felizes para sempre fim! rsrs
Tenta isso @iSillum.
Super Maker- Data de inscrição : 09/07/2011
Reputação : 6
Número de Mensagens : 646
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Não to conseguindo fazer código não mover enquanto
Super Maker escreveu:Pô pessoal, desculpa por isso, mas é brincadeira vocês não terem resolvido isso ainda.
Uma simples variável pra colisão e pornto, acabou. E eles viveram felizes para sempre fim! rsrs
Tenta isso @iSillum.
Eu já tinha resolvido isso, mas apareceu outro problema, olha minha ultima resposta.
iSillum- Data de inscrição : 22/01/2013
Reputação : 0
Número de Mensagens : 72
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Não to conseguindo fazer código não mover enquanto
Que parte do código tinha problema (já que essa parte que estávamos olhando não tinha)? Como foi consertado?iSillum escreveu:pinpi escreveu:Entao deve ser outra coisa, nao tem nada de errado no codigo.
Eu verifiquei todos os códigos e realmente não tinha nada errado com esse código de cima, mas depois que eu concertei apareceu outro problema, ele não vai para os lados, mas se eu apertar algum botão eu para de pular até o final e começa a cair.
Tipo assim, eu pulo por exemplo até a altura 20, ele vai subindo normalmente mas se eu aperta right ou left, ele para de subir antes de chegar a 20 e começa a cair.
Como concerta?
Obrigado por me ajudar a resolver o primeiro problema todo mundo.
Como é o código de pular, cair e bater no teto? Estou desconfiado que seu objeto está se comportando como se tivesse batido no teto.
A variável "solid" do objeto está marcada como true ou false?
É muito difícil saber como consertar seu código sem conhecê-lo. Você poderia postar o código completo e indicar o evento em que ele acontece, por favor?
saim- Games Ranking :
Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Reputação : 136
Número de Mensagens : 3033
Prêmios :
x 1 x 6 x 0
x 1 x 0 x 3
x 0 x 0 x 0
Re: Não to conseguindo fazer código não mover enquanto
saim escreveu:É muito difícil saber como consertar seu código sem conhecê-lo. Você poderia postar o código completo e indicar o evento em que ele acontece, por favor?
Eu vou te enviar o arquivo ai você olha blz?
Pra enviar e só mandar o arquivo .gmk81?
iSillum- Data de inscrição : 22/01/2013
Reputação : 0
Número de Mensagens : 72
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Não to conseguindo fazer código não mover enquanto
Eu estou num computador sem o game maker, então não adianta...
Mas você pode colocar o .gmk81 em algum site de hospedagem que alguém certamente vai olhar pra você!
Mas a versão mais popular é a 8.0, se você tiver como "salvar como" .gmk, melhor.
Mas você pode colocar o .gmk81 em algum site de hospedagem que alguém certamente vai olhar pra você!
Mas a versão mais popular é a 8.0, se você tiver como "salvar como" .gmk, melhor.
saim- Games Ranking :
Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Reputação : 136
Número de Mensagens : 3033
Prêmios :
x 1 x 6 x 0
x 1 x 0 x 3
x 0 x 0 x 0
Re: Não to conseguindo fazer código não mover enquanto
No evento Create:
No evento Step
No evento Left:
No evento Up:
No evento right:
No evento Collision no obj_jogador
O jogador e o chao estão como Solid
OBS: O jogador pula para frente.
- Código:
//variavel auxiliar
global.posicaojogador="right";
No evento Step
- Código:
//deixa jogador parado com sprite certa
if global.posicaojogador=="right" && keyboard_check_released(vk_right){
sprite_index=spr_jogador_parado_right
motion_set(0,0)
}else
if global.posicaojogador=="left" && keyboard_check_released(vk_left){
sprite_index=spr_jogador_parado_left
motion_set(180,0)
}
//gravidade
if place_free(x,y+1){
vspeed+=1
}
//sistema mudar sprite se esta subindo ou caindo
if vspeed<0 && global.posicaojogador=="right"{
sprite_index=spr_jogador_pulando_right
}else
if vspeed<0 && global.posicaojogador=="left"{
sprite_index=spr_jogador_pulando_left
}
if vspeed>0 && global.posicaojogador=="right"{
sprite_index=spr_jogador_caindo_right
}else
if vspeed>0 && global.posicaojogador=="left"{
sprite_index=spr_jogador_caindo_left
}
No evento Left:
- Código:
//sistema andar esquerda
if keyboard_check (vk_left) && !place_free(x,y+1){
image_speed=1.8
motion_set(180,4)
sprite_index=spr_jogador_andando_left
sprite_get_number=10
global.posicaojogador="left";
}
No evento Up:
- Código:
//sistema de pulo
if keyboard_check(vk_up) && !place_free(x,y+1){
vspeed=-10
//para pular sempre numa direçao
if global.posicaojogador=="right"{
hspeed=7
}else
if global.posicaojogador=="left"{
hspeed=-7
}
}
No evento right:
- Código:
//sistema andar direita
if keyboard_check(vk_right) && !place_free(x,y+1){
image_speed=1.8
motion_set(0,4)
sprite_index=spr_jogador_andando_right
sprite_get_number=10
global.posicaojogador="right";
}
No evento Collision no obj_jogador
- Código:
//para nao atravessar objeto
vspeed=0
hspeed=0
//ao cair mudar a sprite dele parado no chao
if !place_free(x,y+1) && global.posicaojogador=="right"{
sprite_index=spr_jogador_parado_right
}else
if !place_free(x,y+1) && global.posicaojogador=="left"{
sprite_index=spr_jogador_parado_left
}
O jogador e o chao estão como Solid
OBS: O jogador pula para frente.
iSillum- Data de inscrição : 22/01/2013
Reputação : 0
Número de Mensagens : 72
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Não to conseguindo fazer código não mover enquanto
Tira o solid do jogador.
e nessa parte :
//gravidade
if place_free(x,y+1){
vspeed+=1
}
Mude para :
//gravidade
gravity=0.4 // mude ao seu gosto
gravity_direction=270 // 270 é para ir pra baixo .
Seus codigos pra mim estão muito confusos, dê uma organizada pode atrapalhar mais tarde.
Espero que funcione
e nessa parte :
//gravidade
if place_free(x,y+1){
vspeed+=1
}
Mude para :
//gravidade
gravity=0.4 // mude ao seu gosto
gravity_direction=270 // 270 é para ir pra baixo .
Seus codigos pra mim estão muito confusos, dê uma organizada pode atrapalhar mais tarde.
Espero que funcione
Zero.- Data de inscrição : 19/08/2010
Reputação : 47
Número de Mensagens : 1300
Prêmios :
x 0 x 0 x 0
x 1 x 0 x 0
x 0 x 0 x 0
Re: Não to conseguindo fazer código não mover enquanto
FlyAway escreveu:Tira o solid do jogador.
e nessa parte :
//gravidade
if place_free(x,y+1){
vspeed+=1
}
Mude para :
//gravidade
gravity=0.4 // mude ao seu gosto
gravity_direction=270 // 270 é para ir pra baixo .
Seus codigos pra mim estão muito confusos, dê uma organizada pode atrapalhar mais tarde.
Espero que funcione
Continua a mesma coisa.
E sobre os códigos estarem confusos o que que eu posso fazer pra melhorar?
iSillum- Data de inscrição : 22/01/2013
Reputação : 0
Número de Mensagens : 72
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Não to conseguindo fazer código não mover enquanto
E mude isso:
No evento Collision no obj_jogador
Código:
//para nao atravessar objeto
vspeed=0
hspeed=0
//ao cair mudar a sprite dele parado no chao
if !place_free(x,y+1) && global.posicaojogador=="right"{
sprite_index=spr_jogador_parado_right
}else
if !place_free(x,y+1) && global.posicaojogador=="left"{
sprite_index=spr_jogador_parado_left
}
Por Isso :
//para nao atravessar objeto
move_contact_solid(direction,12)
vspeed=0
//ao cair mudar a sprite dele parado no chao
if !place_free(x,y+1) && global.posicaojogador=="right"{
sprite_index=spr_jogador_parado_right
}else
if !place_free(x,y+1) && global.posicaojogador=="left"{
sprite_index=spr_jogador_parado_left
}
E vc pode separar mais os códigos, ta mto embolado.
No evento Collision no obj_jogador
Código:
//para nao atravessar objeto
vspeed=0
hspeed=0
//ao cair mudar a sprite dele parado no chao
if !place_free(x,y+1) && global.posicaojogador=="right"{
sprite_index=spr_jogador_parado_right
}else
if !place_free(x,y+1) && global.posicaojogador=="left"{
sprite_index=spr_jogador_parado_left
}
Por Isso :
//para nao atravessar objeto
move_contact_solid(direction,12)
vspeed=0
//ao cair mudar a sprite dele parado no chao
if !place_free(x,y+1) && global.posicaojogador=="right"{
sprite_index=spr_jogador_parado_right
}else
if !place_free(x,y+1) && global.posicaojogador=="left"{
sprite_index=spr_jogador_parado_left
}
E vc pode separar mais os códigos, ta mto embolado.
Zero.- Data de inscrição : 19/08/2010
Reputação : 47
Número de Mensagens : 1300
Prêmios :
x 0 x 0 x 0
x 1 x 0 x 0
x 0 x 0 x 0
Re: Não to conseguindo fazer código não mover enquanto
continua a mesma coisa.
@FlyAway você se importa se eu te mandar o arquivo e você dar uma olhada?
@FlyAway você se importa se eu te mandar o arquivo e você dar uma olhada?
iSillum- Data de inscrição : 22/01/2013
Reputação : 0
Número de Mensagens : 72
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Não to conseguindo fazer código não mover enquanto
O que está acontecendo é que ao apertar as teclas, você define a direção do movimento. A velocidade vertical fica zerada, sobrando só a horizontal. Se ao invés de usar motion_set você definir o valor de hspeed (pra 4 ou -4, dependendo de ser pra direita ou esquerda), deve resolver.
saim- Games Ranking :
Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Reputação : 136
Número de Mensagens : 3033
Prêmios :
x 1 x 6 x 0
x 1 x 0 x 3
x 0 x 0 x 0
Página 1 de 2 • 1, 2
Tópicos semelhantes
» mover enquanto se esta colidindo contra a parede
» Qual o código que faz o obj começar a se mover....
» como fazer o personagen nao andar enquanto ataca???
» [RESOLVIDO] Fazer o background não se mover
» Como fazer o player se mover com o mause
» Qual o código que faz o obj começar a se mover....
» como fazer o personagen nao andar enquanto ataca???
» [RESOLVIDO] Fazer o background não se mover
» Como fazer o player se mover com o mause
Página 1 de 2
Permissões neste sub-fórum
Não podes responder a tópicos