Página 1 de 1

como fazer player abaixar?

Enviado: Ter Jul 12, 2016 9:35 pm
por Torrone
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 

Re: como fazer player abaixar?

Enviado: Ter Jul 12, 2016 9:54 pm
por ValdeciVieira
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}

Re: como fazer player abaixar?

Enviado: Ter Jul 12, 2016 10:01 pm
por Markito
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:

Re: como fazer player abaixar?

Enviado: Ter Jul 12, 2016 10:38 pm
por Torrone
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.

Re: como fazer player abaixar?

Enviado: Ter Jul 12, 2016 11:50 pm
por Markito
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.

Re: como fazer player abaixar?

Enviado: Qua Jul 13, 2016 1:59 am
por Torrone
agora sim deu tudo certo , obrigado aos 2