Entrar
Últimos assuntos
» Retorno da GMBR!!!por theguitarmester Ter 19 Mar 2024, 22:38
» Procuro Programador de game maker
por Wou Sex 15 Mar 2024, 10:27
» Mod APK
por gamerainha Qua 13 Mar 2024, 06:30
» Mudar cor de apenas uma palavra
por lunalol Sex 01 Mar 2024, 13:42
» 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
» Alguém aqui já ganha dinheiro com seus games?
por Joton Seg 15 Jan 2024, 16:49
» 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
» Asteroid Core - Early Acesse Update [0.2.0.0]
por JOZ. Seg 08 Jan 2024, 14:39
» Versionamento de código com GitHub
por GabrielXavier Seg 08 Jan 2024, 07:32
» Rio Rise - novo launcher do Gta San Andreas SAMP Brasil
por kolesovsup Sex 29 Dez 2023, 07:16
» a funçao approach ainda existe?
por PEDRINDEV Ter 26 Dez 2023, 20:05
» Inimigo ataca até por trás! >:(
por saim Sex 22 Dez 2023, 08:55
» [RESOLVIDO]Spawn após morte
por Deception_1999 Dom 17 Dez 2023, 16:39
» Remunerado $$$ - Procuro programador para ajudar a "montar" um jogo
por theguitarmester Sáb 02 Dez 2023, 16:28
» Game maker nao abre
por Cerf Dom 26 Nov 2023, 12:01
Problemas em fazer um objeto pular
4 participantes
Página 1 de 1
Problemas em fazer um objeto pular
Eu estou implementando uma Engine de jogos de plataforma, e busquei vários tutoriais e exemplos de como fazer. Entretanto, ainda tenho um problema que não consigo solucionar. O objeto que teria de pular ao apertar 'z' pula sozinho.
Como pode-se obeservar no código a seguir:
Faço as verificações de gravidade, e crio condições para o pulo (Só no momento em que 'z' for pressionado e quando não for detectado pulo é que o objeto pulará. O pulo é verificado pela variável jumpDetection)
Alguem pode me ajudar com este problema? Já procurei dados dentro e fora do fórum e não obtive muito sucesso.
Agradeço desde já.
Como pode-se obeservar no código a seguir:
- Código:
// ================= Code for jumping and stuff ==================
// Gravity for the hero
if place_free(x,y+1){
gravity=0.7;
}
else{
gravity=0;
}
// Jump for the hero
if keyboard_check_pressed('z'){
if jumpDetection == 0{
jumpDetection = 1;
vspeed = -10;
}
if dir_R == 1{
sprite_index = HeroJumpRight;
}
else if dir_L == 1{
sprite_index = HeroJumpLeft;
}
}
Faço as verificações de gravidade, e crio condições para o pulo (Só no momento em que 'z' for pressionado e quando não for detectado pulo é que o objeto pulará. O pulo é verificado pela variável jumpDetection)
Alguem pode me ajudar com este problema? Já procurei dados dentro e fora do fórum e não obtive muito sucesso.
Agradeço desde já.
FishyHatGuy- Data de inscrição : 30/04/2011
Reputação : 1
Número de Mensagens : 18
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Problemas em fazer um objeto pular
Quando se usa teclas de letras para fazer ações, deve se usar a função ord. Nesta função, você coloca a letra correspondente a tecla, em letra maiúscula e entre aspas ou apóstrofos.
No seu caso, o certo seria:
Espero ter ajudado!
No seu caso, o certo seria:
- Código:
if keyboard_check_pressed(ord("Z"))
Espero ter ajudado!
JV Justino- Games Ranking :
Notas recebidas : A+A
Data de inscrição : 07/12/2010
Reputação : 20
Número de Mensagens : 619
Prêmios :
x 0 x 13 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Problemas em fazer um objeto pular
E ajudou mesmo, valeu~
Só não peço ainda para fechar o tópico pois percebi um outro problema, mas creio que posso dar um jeito neste.
...Por enquanto.
Só que agora ele só anda no chão depois de pular, e se parar, deixa de andar novamente. Acredito que o problema seja no teste de gravidade. Pois quando o editei tirando a clausula else, ele não deixava o objeto andar a não ser que estivesse no ar.
Vou tentar continuar mexendo aqui, mas agradeço outra possível ajuda @_@
Só não peço ainda para fechar o tópico pois percebi um outro problema, mas creio que posso dar um jeito neste.
...Por enquanto.
Só que agora ele só anda no chão depois de pular, e se parar, deixa de andar novamente. Acredito que o problema seja no teste de gravidade. Pois quando o editei tirando a clausula else, ele não deixava o objeto andar a não ser que estivesse no ar.
Vou tentar continuar mexendo aqui, mas agradeço outra possível ajuda @_@
FishyHatGuy- Data de inscrição : 30/04/2011
Reputação : 1
Número de Mensagens : 18
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Problemas em fazer um objeto pular
Obviamente, seu código pra andar não está no código apresentado. Por favor, apresente o código pra andar que poderemos ajudar.
Apresente, também, o código que faz jumpdetection voltar pra 0 (ou, pelo menos, o evento em que ele ocorre).
Apresente, também, o código que faz jumpdetection voltar pra 0 (ou, pelo menos, o evento em que ele ocorre).
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: Problemas em fazer um objeto pular
Eis o código inteiro que eu fiz, com algumas modificações:
jumpDetection é definido como 0 quando o objeto realiza colisão com o outro, neste caso, o herói com um bloco ou piso.
Meu problema agora é que se o herói está em contato direto com o piso, ele não anda, ele só anda após pular, pois antes de aterrissar, ele sofre uma pequena desaceleração até enconstar no bloco. Se possível quero resolver estes dois problemas.
- Código:
// ================= Code for moving on ground==================
// Define a standard position in case both right and left keys are pressed
if keyboard_check(vk_left) && keyboard_check(vk_right){
dir_R = 0;
dir_L = 0;
sprite_index = HeroJumpRight;
}
else{ // Deal with only one key case
if keyboard_check(vk_right)&& place_free(x+5, y) {
dir_R = 1;
dir_L = 0;
x+=5;
if jumpDetection == 0 {sprite_index = HeroWalkRight;}
}
if keyboard_check(vk_left) && place_free(x-5, y){
dir_R = 0;
dir_L = 1;
x-=5;
if jumpDetection == 0 {sprite_index = HeroWalkLeft;}
}
}
if keyboard_check_released(vk_left){
sprite_index = HeroJumpLeft;
}
if keyboard_check_released(vk_right){
sprite_index = HeroJumpRight;
}
// ================= Code for jumping and stuff ==================
// Gravity for the hero
if place_free(x,y+1){
gravity=0.7;
}
else {
gravity = 0;
}
// Jump for the hero
if keyboard_check_pressed(ord("Z")) && jumpDetection == 0{
if jumpDetection == 0{
jumpDetection = 1;
}
//if !place_free(x,y+1){
vspeed = -10;
//}
if dir_R == 1{
sprite_index = HeroJumpRight;
}
else if dir_L == 1{
sprite_index = HeroJumpLeft;
}
}
jumpDetection é definido como 0 quando o objeto realiza colisão com o outro, neste caso, o herói com um bloco ou piso.
Meu problema agora é que se o herói está em contato direto com o piso, ele não anda, ele só anda após pular, pois antes de aterrissar, ele sofre uma pequena desaceleração até enconstar no bloco. Se possível quero resolver estes dois problemas.
FishyHatGuy- Data de inscrição : 30/04/2011
Reputação : 1
Número de Mensagens : 18
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Problemas em fazer um objeto pular
- Código:
if keyboard_check(vk_right)&& place_free(x+5, y) {
.....
x+=5;
.....
}
Das duas, uma: ou x+5 não é "place_free" ou "y" não é. Provavelmente, y. Logo, os dois problemas devem estar relacionados. Provavelmente, você está aterrissando um pouco pra dentro do chão.Se possível quero resolver estes dois problemas.
Mocê usa move_contact?
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: Problemas em fazer um objeto pular
Não uso move_contact, tentei uma vez mas aí piorou. E a nesse caso que você mostrou, o place_free só é utilizado pra verificação de colisão horizontal, não creio que isso afete o pulo, ainda mais porque antes de eu alterar o código, não o tinha colocado, e o problema já existia.
FishyHatGuy- Data de inscrição : 30/04/2011
Reputação : 1
Número de Mensagens : 18
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Problemas em fazer um objeto pular
amigo... tenta colocar isso na Colisão com o Chão... e lembrando que é EXPRESSAMENTE RECOMENDADO q vc coloque o CHÃO como SOLIDO:
Colisão do Herói com o Chão:
e outra.. place_free tbm é usado pra Vertical...
place_free(x,y) //x=horizontal e y=vertical...
x negativo é igual a esquerda, x positivo igual a direita
y negativo é igual a cima, y positivo é igual para baixo
bem é isso ae carinha ;)
qualquer coisa é só falar
PS:. Coloca aquele COD de colisão... abraço ;)
Colisão do Herói com o Chão:
- Código:
move_contact_solid(direction,12)
vspeed=0
e outra.. place_free tbm é usado pra Vertical...
place_free(x,y) //x=horizontal e y=vertical...
x negativo é igual a esquerda, x positivo igual a direita
y negativo é igual a cima, y positivo é igual para baixo
bem é isso ae carinha ;)
qualquer coisa é só falar
PS:. Coloca aquele COD de colisão... abraço ;)
Re: Problemas em fazer um objeto pular
Valeu muito Kevin, isso resolveu o problema da desaceleração na aterrissagem, mas ainda tem o problema de não andar, caso o personagem fique em contato direto com o chão.
FishyHatGuy- Data de inscrição : 30/04/2011
Reputação : 1
Número de Mensagens : 18
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Problemas em fazer um objeto pular
esse é um caso de MASK... abra o objeto do Player.. e defina a Sprite dele parado como o MASK padrão do OBJ... e pronto.. ele irá parar de travar ;)
(se caso naum resolver isso me avisa... e se naum souber como fazer isso me manda um MP ;) )
(se caso naum resolver isso me avisa... e se naum souber como fazer isso me manda um MP ;) )
Re: Problemas em fazer um objeto pular
Isso ajudou, valeu mesmo~
E agora podem trancar o tópico :B
Depois eu torturarei vocês com mais problemas q-
E agora podem trancar o tópico :B
FishyHatGuy- Data de inscrição : 30/04/2011
Reputação : 1
Número de Mensagens : 18
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
|
|