- Data de inscrição : 14/06/2014
Número de Mensagens : 57
Insígnias de JAM :x 0
x 0
x 0
Reputação : 0
Prêmios: 0
: 0
: 0
[Resolvido] Player Escalar Parede
em Sex 20 Jun 2014, 12:33
Olá Amigos,estou precisando da ajuda de vocês para fazer um jogo no
GM 8 Pro que o jogador controle o player escalando a parede usando a setinha pra cima e para desviar de um inimigo pular e escalar a outra parede, o jogo vai ter 2 Paredes como na imagem abaixo:

O Player vai escalar as duas paredes quando ele escalar a parede direita ou esquerda muda de sprite e quando o player pular muda de Sprite também
Obrigado!
Eu editei o Tópico para vocês entenderem melhor !



Obrigado!
Eu editei o Tópico para vocês entenderem melhor !
- Data de inscrição : 26/03/2011
Número de Mensagens : 101
Insígnias de JAM :x 0
x 0
x 0
Reputação : 9
Prêmios: 0
: 0
: 0
Re: [Resolvido] Player Escalar Parede
em Sex 20 Jun 2014, 21:31
Tente assim:
No objeto Player:
No Evento Step
Isso faz ele apenas subir e descer uma parede quado está encostado nela.
No objeto Player:
No Evento Step
- Código:
image_speed = 0
if ! keyboard_check(vk_up) && !keyboard_check(vk_down)
{
image_index = 0
sprite_index = Spr_WalkUp
}
if place_meeting(x-1,y,Obj_Parede)
{
if keyboard_check(vk_up)
{
y-=4
sprite_index = Spr_WalkUp//Sprite do player subindo!
image_speed = 0.5
}
if keyboard_check(vk_down)
{
y+=4
sprite_index = Spr_WalkUp//Sprite do player subindo!
image_index -= 0.5
if (image_index<0)
{
image_index = 7//Aqui o numero correspondente ao último frame(quadro do seu sprite (Spr_WalkUp)
}
}
}
Isso faz ele apenas subir e descer uma parede quado está encostado nela.
- Data de inscrição : 14/06/2014
Número de Mensagens : 57
Insígnias de JAM :x 0
x 0
x 0
Reputação : 0
Prêmios: 0
: 0
: 0
Re: [Resolvido] Player Escalar Parede
em Sab 21 Jun 2014, 18:51
Valeu Camin! Agora como faço o player escalar a parede da direita também ?
- Data de inscrição : 14/06/2014
Número de Mensagens : 57
Insígnias de JAM :x 0
x 0
x 0
Reputação : 0
Prêmios: 0
: 0
: 0
Re: [Resolvido] Player Escalar Parede
em Seg 23 Jun 2014, 15:32
Eu tenho que mudar o step ou adicionar colisão com a parede direita ?
Re: [Resolvido] Player Escalar Parede
em Seg 23 Jun 2014, 15:46
Amigo, já experimentou trocar "x-1" por "x+1" ??
- Data de inscrição : 14/06/2014
Número de Mensagens : 57
Insígnias de JAM :x 0
x 0
x 0
Reputação : 0
Prêmios: 0
: 0
: 0
Re: [Resolvido] Player Escalar Parede
em Qua 25 Jun 2014, 16:33
WellingtonBecker já mais ñ deu certo
- Ranking :
Data de inscrição : 23/05/2012
Número de Mensagens : 515
Insígnias de JAM :x 0
x 0
x 0
Reputação : 36
Prêmios: 0
: 0
: 0
Re: [Resolvido] Player Escalar Parede
em Qua 25 Jun 2014, 18:00
@WellingtonBecker escreveu:Amigo, já experimentou trocar "x-1" por "x+1" ??
Welling se referiu a trocar o valor x-1 para x+1 de place_meeting(x-1,y,Obj_Parede), no caso ficaria place_meeting(x+1,y,Obj_Parede).@GeraldRobotnik escreveu:WellingtonBecker já mais ñ deu certo
Use também image_xscale = -1 para inverter a imagem, assim não precisa criar outro sprite.
Re: [Resolvido] Player Escalar Parede
em Qua 25 Jun 2014, 18:27
Eu não sei como esta seu projeto, tem como mostrar o código que usou?
- Data de inscrição : 14/06/2014
Número de Mensagens : 57
Insígnias de JAM :x 0
x 0
x 0
Reputação : 0
Prêmios: 0
: 0
: 0
Re: [Resolvido] Player Escalar Parede
em Ter 01 Jul 2014, 15:52
Eu não sei se vocês entenderam então Atualizei o Tópico
WellingtonBecker estou usando o código que o Camin postou acima
WellingtonBecker estou usando o código que o Camin postou acima
- Data de inscrição : 26/03/2011
Número de Mensagens : 101
Insígnias de JAM :x 0
x 0
x 0
Reputação : 9
Prêmios: 0
: 0
: 0
Re: [Resolvido] Player Escalar Parede
em Qui 03 Jul 2014, 00:41
É como o WellingtonBecker e o Witen falaram acima.
E como o Witen comentou, pra não prescisar criar sprites extras (virado para direita, e outros para esquerda) você pode alterar o valor da variável image_xscale ( 1 é o tamanho real da sprite no objeto, -1 é virada ao contrário, 2 é o dobro do tamanho )
então você pode substituir todo código por este:
Isso se a parede da direita for o memo objeto que a parede da esquerda.
E como o Witen comentou, pra não prescisar criar sprites extras (virado para direita, e outros para esquerda) você pode alterar o valor da variável image_xscale ( 1 é o tamanho real da sprite no objeto, -1 é virada ao contrário, 2 é o dobro do tamanho )
então você pode substituir todo código por este:
- Código:
image_speed = 0
if ! keyboard_check(vk_up) && !keyboard_check(vk_down)
{
image_index = 0
sprite_index = Spr_WalkUp
}
if place_meeting(x-1,y,Obj_Parede)
{
image_xscale = +1
if keyboard_check(vk_up)
{
y-=4
sprite_index = Spr_WalkUp//Sprite do player subindo!
image_speed = 0.5
}
if keyboard_check(vk_down)
{
y+=4
sprite_index = Spr_WalkUp//Sprite do player subindo!
image_index -= 0.5
if (image_index<0)
{
image_index = 7//Aqui o numero correspondente ao último frame(quadro do seu sprite (Spr_WalkUp)
}
}
}
if place_meeting(x+1,y,Obj_Parede)
{
image_xscale = -1
if keyboard_check(vk_up)
{
y-=4
sprite_index = Spr_WalkUp//Sprite do player subindo!
image_speed = 0.5
}
if keyboard_check(vk_down)
{
y+=4
sprite_index = Spr_WalkUp//Sprite do player subindo!
image_index -= 0.5
if (image_index<0)
{
image_index = 7//Aqui o numero correspondente ao último frame(quadro do seu sprite (Spr_WalkUp)
}
}
}
Isso se a parede da direita for o memo objeto que a parede da esquerda.
- Data de inscrição : 14/06/2014
Número de Mensagens : 57
Insígnias de JAM :x 0
x 0
x 0
Reputação : 0
Prêmios: 0
: 0
: 0
Re: [Resolvido] Player Escalar Parede
em Qui 03 Jul 2014, 20:07
Eu coloquei este código no Step do Player, só que ele ficou sempre com o Sprite de pulo e quando eu aperto Espaço ele vai pra direita e cai saindo da tela,então coloquei o player na parede Direita só que ele ficou parado e não escalou,eu acho que fiz algo errado
Os Objetos do Jogo são o Player e duas Paredes

- Data de inscrição : 26/03/2011
Número de Mensagens : 101
Insígnias de JAM :x 0
x 0
x 0
Reputação : 9
Prêmios: 0
: 0
: 0
Re: [Resolvido] Player Escalar Parede
em Sex 11 Jul 2014, 23:37
Arara!
Testei o código e ví os erros.
Este tenque funcionar:
1º coloque o "hotspot"(cruzinha do ponto de origem) dos sprites do knuckles no meio da sprite (editando as sprite e clicando no botão center)
2º No objeto Player:
No evento Step
No evento de colisão com a pare_DRight
Agora está certo!

Este tenque funcionar:
1º coloque o "hotspot"(cruzinha do ponto de origem) dos sprites do knuckles no meio da sprite (editando as sprite e clicando no botão center)
2º No objeto Player:
No evento Step
- Código:
if (place_meeting (x -1,y,pare_DLeft) or place_meeting (x +1,y,pare_DRight))
{status = 0}else{status = 1}
if status == 0//Trepado numa parede:
{
image_speed = 0
gravity = 0
sprite_index = spr_subindo
if place_meeting (x-1,y,pare_DLeft) image_xscale = +1
if place_meeting (x+1,y,pare_DRight) image_xscale = -1
if (not keyboard_check(vk_up)and not keyboard_check(vk_down))
{
image_index = 0
}
if keyboard_check(vk_up)//Subir:
{
y -= 4
image_speed = 0.5
}
if keyboard_check(vk_down)//Descer:
{
y += 4
image_index -= 0.5
if (image_index<0)image_index = 6
}
if keyboard_check_pressed(vk_space)//Pular:
{
sound_play (som_pulo)
hspeed = image_xscale*10
vspeed = -6
}
}
if status == 1//No ar livre:
{
sprite_index = spr_pulando
gravity = 1
image_speed = 1
if keyboard_check(vk_left) {x-=2}
if keyboard_check(vk_right) {x+=2}
}
No evento de colisão com a pare_DRight
- Código:
move_contact_solid (direction,12)
move_outside_solid (180,12)
hspeed = 0
vspeed = 0
- Código:
move_contact_solid (direction,12)
move_outside_solid (0,12)
hspeed = 0
vspeed = 0

Permissão deste fórum:
Você não pode responder aos tópicos neste fórum