Obrigado por visitar a The Game Makers Brasil 😁 Use o fórum de Dúvidas para fazer perguntas. Se está em busca de aprender dê uma olhada nos tutoriais.

como fazer player abaixar?

Perguntas? A comunidade te ajuda a resolver.
Avatar do usuário
Torrone
Novato
Novato
Reações: 0
Mensagens: 7

como fazer player abaixar?

Mensagem por Torrone » Ter Jul 12, 2016 9:35 pm

então pessoal é o seguinte , tentei fazer o player abaixar porém parece q o game maker ignora o codigo , aperto e nada acontece, usei o seguinte;

Código: Selecionar todos

if (keyboard_check(ord("S"))) && (abaixado = false) {sprite_index= spr_soren_parado}

else if (keyboard_check(ord("S"))) && (abaixado = true ) {sprite_index = spr_soren_abaixado}
porém ele nao abaixa quando pressiona S . 
Gostaria de um help , obrigado 

Avatar do usuário
ValdeciVieira
Moderador
Moderador
Reações: 8
Mensagens: 122
Localização: Rio de Janeiro, Brasil

Re: como fazer player abaixar?

Mensagem por ValdeciVieira » Ter Jul 12, 2016 9:54 pm

nao seria 

Código: Selecionar todos

if (keyboard_check_released(ord("S"))) && (abaixado = false) {sprite_index= spr_soren_parado}

else if (keyboard_check(ord("S"))) && (abaixado = true ) {sprite_index = spr_soren_abaixado}

Avatar do usuário
Markito
Colaborador
Colaborador
Reações: 0
Mensagens: 50

Re: como fazer player abaixar?

Mensagem por Markito » Ter Jul 12, 2016 10:01 pm

Acho que é porque você esqueceu de definir o valor da variável abaixado dentro do bloco? Depois do sprite index, coloca o valor dela para o adequado pra cada situação. E... as sprites não deveriam estar ao contrário não? O primeiro if parece que vai definir que ele está abaixado quando ele não está (abaixado = false).

Código: Selecionar todos

if (keyboard_check(ord("S")) && abaixado == false) {
    sprite_index = spr_soren_abaixado
    abaixado = true
} else if (keyboard_check(ord("S")) && abaixado == true) {
    sprite_index = spr_soren_parado
    abaixado = false
}
Ou mais simplificado:

Código: Selecionar todos

if (keyboard_check(ord("S"))) {
    if (abaixado == false) {
        sprite_index = spr_soren_abaixado
        abaixado = true
    } else {
        sprite_index = spr_soren_parado
        abaixado = false
    }
}
Mais simplificado ainda! :o

Código: Selecionar todos

if (keyboard_check(ord("S"))) {
    if (abaixado) { sprite_index = spr_soren_parado }
    else { sprite_index = spr_soren_abaixado; }
    abaixado = not abaixado
}
Se o que você quiser fazer é um toggle (alternar cada vez que apertar S), mude a função para keyboard_check_pressed :yes:

Avatar do usuário
Torrone
Novato
Novato
Reações: 0
Mensagens: 7

Re: como fazer player abaixar?

Mensagem por Torrone » Ter Jul 12, 2016 10:38 pm

agora deu certo  mas ele ta entrando no chao hauhaua , tentei mask_index , mas quando levanta ele fica dentro do chao.
E queria fazer também pra quando estiver abaixado , nao poder andar , tentei tbm hspeed = 0 mas continua andando e quando levanta nao anda mais.

Avatar do usuário
Markito
Colaborador
Colaborador
Reações: 0
Mensagens: 50

Re: como fazer player abaixar?

Mensagem por Markito » Ter Jul 12, 2016 11:50 pm

Esse negócio de entrar no chão, você tem que mexer na origem da sprite, de forma que elas fiquem num mesmo ponto entre as sprites, para quando forem trocadas não haver nenhuma diferença que prejudique a visualização. Num jogo de plataforma é sempre bom colocar a origem nos pés.

Avatar do usuário
Torrone
Novato
Novato
Reações: 0
Mensagens: 7

Re: como fazer player abaixar?

Mensagem por Torrone » Qua Jul 13, 2016 1:59 am

agora sim deu tudo certo , obrigado aos 2 

Trancado

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 2 visitantes