[DUVIDA]mudar sprite ao finalizar animaçao?

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

[DUVIDA]mudar sprite ao finalizar animaçao?

Mensagem por Max Henrique da Silva Cav em Ter 12 Jun 2012, 20:57

e o seguinte, estou querendo saber se tem como a sprite mudar ao final de uma animaçao, tpw, começar a andar e dpois continuar andando como no castlevania sotn, e aproveitando o topico
tpw como muitos ja devem ter jogado, Castlevania SOTN, o player alterna os lados, e faz animação com o movimento. tpw... estou olhando para a direita(direita = true), o sprite eh parado_dir, aperto a tecla para a esquerda(direita = false), o sprite seria alternar_lado_dir_para_esq, e dpois o sprite fica em parado_esq ou andar_dir.... e vice-versa...mas n ta entrando nada na minha mente,

hj consegui fazer com q o char pulasse com liberdade de lado, tpw,
if direita = true{ if vspeed <= 0{ if andando = true { sprite_index = spr_pulando-diagonal_esquerda} else {....

ficou legal

se alguem puder me responder essa duvida...ficarei mto grato...


Última edição por Max Henrique da Silva Cav em Sab 16 Jun 2012, 19:09, editado 1 vez(es)

Max Henrique da Silva Cav

Número de Mensagens : 8
Idade : 25
Data de inscrição : 02/06/2012
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: [DUVIDA]mudar sprite ao finalizar animaçao?

Mensagem por Pit Bull em Ter 12 Jun 2012, 21:02

add event/other/animation end

dentro do evento você coloca o seguinte codigo:
Código:

sprite_index=nome da nova sprite
image_index=0//imagem inicial
image_speed=velocidade que a imagem vai se passar.

se você quiser que pare crie uma condição com alguma variavel.

Pit Bull

Número de Mensagens : 630
Idade : 21
Data de inscrição : 31/08/2010
Reputação : 15
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://leninja.com.br

Voltar ao Topo Ir em baixo

Re: [DUVIDA]mudar sprite ao finalizar animaçao?

Mensagem por Witen em Ter 12 Jun 2012, 21:19

Simples:
Código:
if keyboard_check( ord( 'W' ) )y-=5
sprite_index= //nome da nova sprite
if keyboard_check( ord( 'S' ) )y+=5
sprite_index=//nome da nova sprite
if keyboard_check( ord( 'A' ) )x-=5
sprite_index=//nome da nova sprite
if keyboard_check( ord( 'D' ) )x+=5
sprite_index=//nome da nova sprite

É seu código esta todo errado...

Witen

Ranking : Sem avaliações
Número de Mensagens : 515
Idade : 17
Data de inscrição : 23/05/2012
Reputação : 36
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://www.wibix.webs.com

Voltar ao Topo Ir em baixo

Re: [DUVIDA]mudar sprite ao finalizar animaçao?

Mensagem por saim em Qua 13 Jun 2012, 08:35

Esse é um caso típico para a máquina de estados finitos (tutorial na assinatura). Basicamente, você precisa explicar ao objeto o que é que ele está fazendo.
Então se ele está se movimentando pra um lado e você manda virar pro outro, ele deve sair do estado "movendo" e partir pro estado "virando". Se ele está no estado "atacando", não tem como passar pro estado "pulando" até que saia do estado e passe pra um estado em que a mudança seja permitida, como o estado "parado feito bobo".
Cada estado tem suas próprias regras, podem ter regras que superem qualquer estado em que ele se encontre (por exemplo, se o tempo pra terminar a fase acabar, ele morre mesmo estando no estado "invencível").
Gaste um tempinho no tutorial, ele costuma ser um divisor de águas na programação.

saim

Ranking : Nota B
Número de Mensagens : 2964
Idade : 38
Data de inscrição : 14/01/2011
Notas recebidas : C-D-A-B
Reputação : 121
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 3

Voltar ao Topo Ir em baixo

Re: [DUVIDA]mudar sprite ao finalizar animaçao?

Mensagem por Witen em Qua 13 Jun 2012, 08:48

Código:
// if é igual a se
if COMANDO {
sprite_index=exemplo_andando //Mudar sprite para exemplo_andando
}
else{//Caso ao contrario, você pode acrescentar isso se quiser
sprite_index=exemplo_parado //Mudar sprite para exemplo_parado
}

Witen

Ranking : Sem avaliações
Número de Mensagens : 515
Idade : 17
Data de inscrição : 23/05/2012
Reputação : 36
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://www.wibix.webs.com

Voltar ao Topo Ir em baixo

Re: [DUVIDA]mudar sprite ao finalizar animaçao?

Mensagem por Max Henrique da Silva Cav em Qui 14 Jun 2012, 13:20

(Witen)

esse eh meu step de comando fisico(quando "EU" faço algo, teclo algo)

Código:
//Teclando para se mover


if (keyboard_check(ord("D"))){//verifica se a seta direita foi apertada
    hspeed = 5;direita = true;andando = true
}else{// se não foi
    if (keyboard_check(ord("A"))){ //verifica se a seta esquerda foi apertada
        hspeed = -5;direita = false;andando = true
    }else{// se não foi
        hspeed = 0;andando = false
    }
}
if keyboard_check(ord("A")) and direita = true{//verifica se foi apertado a tecla A e esta para a direita
    hspeed = -5;alternar_lado_dir_to_esq = true;
}else{//se nao foi
    if keyboard_check(ord("D")) and direita = true{//verifica se foi apertado a tecla D e nao esta para a direita
        hspeed = 5;alternar_lado_esq_to_dir = true;
      }
}
if keyboard_check(ord("S")){//se for apertado para baixo
    abaixado = true
}else{//se não for
    abaixado = false
}

if (keyboard_check(ord("D")) and abaixado = false){//verifica se a seta direita foi apertada e não esta abaixado
    hspeed = 5;direita = true;andando = true
}else{// se não foi
    if (keyboard_check(ord("A")) and abaixado = false){ //verifica se a seta esquerda foi apertada e não esta abaixado
        hspeed = -5;direita = false ;andando = true
    }else{// se não foi
        hspeed = 0;andando = false
    }
}

if (keyboard_check_pressed(vk_numpad4) and atacando = false and abaixado = false){// verifica se o espaço foi apertado e não esta atacando e não esta abaixado
    image_index = 0
    atacando = true
    alarm[0] = 11
}

if (keyboard_check(ord("D")) and abaixado = false and atacando = false){//verifica se a seta direita foi apertada e não esta abaixado e não esta atacando
    hspeed = 5;direita = true;andando = true
}else{// se não foi
    if (keyboard_check(ord("A")) and abaixado = false and atacando = false){ //verifica se a seta esquerda foi apertada e não esta abaixado e não esta atacando
        hspeed = -5;direita = false ;andando = true
    }else{// se não foi
        hspeed = 0;andando = false
    }
}

if keyboard_check_pressed(vk_numpad5) and pe_no_chao = true and abaixado = false{//se for apertado para cima
    vspeed = -12
    pe_no_chao = false
}
if keyboard_check_released(vk_numpad5) and vspeed <= 0{//se for soltado para cima
    vspeed /= 2
}

e esse eh meu step de sprite...

Código:
//Movimentar horizontal

if direita = true {// se para direita
    if andando = true{//se stiver andando
        sprite_index = spr_startwalk_dir
    }else{//se não estiver andando
        sprite_index = spr_stopright
    }
}else{//se nao estiver para a direita
    if andando = true{//se estiver andando
        sprite_index = spr_startwalk_esq
    }else{//se não estiver andando
        sprite_index = spr_stopleft
    }
}

//Movimentar abaixar

if direita = true {//se para direita
    if abaixado = true{//se estiver abaixado
        sprite_index = spr_downing_dir
    }else{//se nao estiver abaixado
        if andando = true{//se estiver andando
            sprite_index = spr_startwalk_dir
        }else{//se nao estiver andando
            sprite_index = spr_stopright
        }
    }
}else{//se nao estiver para direita(esquerda)
    if abaixado = true{//se estiver abaixado
        sprite_index = spr_downing_esq
    }else{//se nao estiver abaixado
        if andando = true{//se estiver andando
            sprite_index = spr_startwalk_esq
        }else{//se nao estiver andando
            sprite_index = spr_stopleft
        }
    }
}
//Movimentar pular
if direita = true {//se para direita
    if pe_no_chao = false{//se nao estiver no chao; pulando ou caindo
        if vspeed <= 0 {//se estiver subindo, pulando
            if andando = true{//se estiver andando
                sprite_index = spr_jump_diag_dir
            }else{//se nao estiver andadno
                sprite_index = spr_jump_vert_dir
        }}else{//se nao estiver subindo, pulando; se estiver caindo
            sprite_index = spr_falling_dir
        }}else{//se estiver no chao
            if andando = true{//se estiver andando
                sprite_idnex = spr_startwalk_dir
            }else{//se nao estiver andando
                if abaixado = true{//se estiver abaixado
                    sprite_index = spr_downing_dir
            }else{//se nao estiver abaixado
                sprite_index = spr_stopright
            }
        }
    }}else{//se nao estiver para a direita
        if pe_no_chao = false{//se estiver nao estiver no chao; pulando ou caindo
            if vspeed <= 0 {//se estiver subindo. pulando
                if andando = true{//se estiver andando
                    sprite_index = spr_jump_diag_esq
                }else{//se nao estiver andando
                      sprite_index = spr_jump_vert_esq
            }}else{//se nao estiver subindo, pulando; se estiver caindo
                sprite_index = spr_falling_esq
            }}else{//se estiver no chao
                if andando = true{//se estiver andando
                    sprite_idnex = spr_startwalk_esq
                }else{//se nao estiver andando
                    if abaixado = true{//se estiver abaixado
                        sprite_index = spr_downing_esq
                    }else{//se nao estiver abaixado
                        sprite_index = spr_stopleft
                    }
            }
      }
}

o que eu estou querendo eh o seguinte...

quando eu começar a andar o sprite_index começe como startwalk e qndo finalizar a animação entre o keepwalk

e a mesma coisa no turn around, se eu estiver para um lado e mudar a direçao que isso seja feito com uma sprite tipow...spr_alternarlado_dir_para_esq...entendeu...


/////////

saim

nao intendi muito sobre isso aew...como vc viu sou iniciante....nao entendi quais sao as variaveis quais sao os comandos fisicos e quais sao os comandos no jogo...desculpa mas vou continuar olhado pois achei super interessante a introduçao e o que ela nos mostra...

////////

Pit Bull

nao intendi muito...tenho que fazer esse codigo com todas as sprites...mas image_index eh a imagem q o player está...certo...mas n mudou...


////


obr pela atençao pessoal....

Max Henrique da Silva Cav

Número de Mensagens : 8
Idade : 25
Data de inscrição : 02/06/2012
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: [DUVIDA]mudar sprite ao finalizar animaçao?

Mensagem por saim em Qui 14 Jun 2012, 14:56

Max Henrique da Silva Cav escreveu:nao intendi muito sobre isso aew...como vc viu sou iniciante....nao entendi quais sao as variaveis quais sao os comandos fisicos e quais sao os comandos no jogo...
As máquinas de estados finitos são um pouco assustadoras pra iniciantes, mas na verdade são tão simples quanto um if/else.
exemplo:
Vou te dar um resumo dela USANDO um if/else.
Suponha que você tenha apenas dois estados, "andando" e "parado". Suponha que apertar a tecla de espaço exerça ações diferentes em estados diferente (pular quando estiver andando e faça agachar quando estiver parado, por exemplo). E, pra mudar de um estado pro outro, você precise de algo simples, como apertar enter.
Então você precisa de uma variável pra saber qual estado você está. Podemos chamá-la de "estadoAtual", "indice_do_estado", "fezendoAgora", o que preferir. Você vai usar um código desse tipo, no evento de apertar enter:
Código:
if (estadoAtual == "andando"){
   estadoAtual = "parado";
   }
   else {
      estadoAtual = "andando";
      }
Pronto, já fez uma máquina de estados finitos. Daí, uma vez que você tem a máquina, pode colocar no evento de apertar espaço:
Código:
if (estadoAtual == andando){
   //pula
   }
if (estadoAtual == "parado"){
   //agacha
   }
Claro que você pode trocar os dois "if's" por um switch. Claro que no tutorial o código é mais complexo. Mas a base da teoria de uma máquina de estados finitos é essa aí.
Seu código tem alguns problemas de lógica (por exemplo, no caso do jogador apertar "A" e "D" ao mesmo tempo, o personagem vai pra direita). Eu poderia passar por um a um, mas acho que uma máquina de estados finitos vai te exigir reescrever o código todo, então não sei se vale a pena.
Seja como for, parece que você ainda não está conseguindo antever todas as possibilidades ao mesmo tempo. Por isso não consegue limitar as opções do jogador. E é justamente nisso que a MEF te ajuda: ela separa o código em pedacinhos digeríveis, então você não precisa prever TODAS as possibilidades de entrada de comandos, só aquelas relativa ao estado atual.

saim

Ranking : Nota B
Número de Mensagens : 2964
Idade : 38
Data de inscrição : 14/01/2011
Notas recebidas : C-D-A-B
Reputação : 121
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 3

Voltar ao Topo Ir em baixo

Re: [DUVIDA]mudar sprite ao finalizar animaçao?

Mensagem por Max Henrique da Silva Cav em Qui 14 Jun 2012, 15:39

certo...o formato MEF é simples e eficaz, porem ainda estou embrulhado com algumas coisas...do tipo...

estado_Atual é a variavel

certo...

vc nao usa if (keyboard...tarara tarara tarara...) usa argumentos para aquilo ou isso certo...

mas a questao é...onde eu onho esse estado...tpw...estado_Atual

player - create ;step;
criar um script? onde?


Max Henrique da Silva Cav

Número de Mensagens : 8
Idade : 25
Data de inscrição : 02/06/2012
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: [DUVIDA]mudar sprite ao finalizar animaçao?

Mensagem por saim em Qui 14 Jun 2012, 16:39

O estado atual deve ser declarado no mesmo objeto em que ele vai ser usado. Obviamente, antes de ser usado. Então, se você vai usar ele no step, é uma boa declará-lo no create.

No exemplo que eu racunhei, não coloquei nenhuma entrada de comando porque os eventos em que o exemplo se baseia SÃO entradas de comandos (evento de apertar espaço, evento de apertar enter). Você pode colocar os códigos dentro do step, precedidos por "if keyboard_check_pressed(vk_space)" ou "if keyboard_check_pressed(vk_enter)", não vai fazer muita diferença (na verdade, a ordem dos eventos interfere sim, mas deixa isso pra quando você estiver mais tarimbado).

Na MEF do tutorial, todos os estados são scripts e a variável que determina qual script será executado é a state_index. Nessa variável fica armazenada a id (já explico o que é id) do script e ele é executado através do comando "execute_script".


"id" é um número inteiro que serve pra explicar pro programa qual recurso está sendo chamado. Pense em um número da IDentidade do recurso.
Quando você escreve "instance_create(x, y, obj_player)", o computador lê, por exemplo, "instance_create(20, 45, 1)". Nesse caso, a id do objeto "obj_player" é "1".
Tudo tem id. Sons têm id, sprites têm id, objetos têm id, instâncias têm id, paths, timelines, fontes, tudo. Até os scripts. E todas essas ids podem ser armazenadas em variáveis. Os nomes dos recursos, na verdade, são variáveis que você declara de um jeito diferente.
De alguma forma, o game maker consegue evitar que dois recursos tenham a mesma id. Eu não sei exatamente como ele faz isso e nem importa, você pode dormir tranquilo quanto a isso.
Mais informações no meu tutorial a respeito de variáveis.
"Pô, vou ter que ler TODOS os seus tutoriais???"
Bom, você disse que era iniciante. Na verdade, só os meus tutoriais não vão chegar perto de serem suficientes...

saim

Ranking : Nota B
Número de Mensagens : 2964
Idade : 38
Data de inscrição : 14/01/2011
Notas recebidas : C-D-A-B
Reputação : 121
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 3

Voltar ao Topo Ir em baixo

Re: [DUVIDA]mudar sprite ao finalizar animaçao?

Mensagem por Max Henrique da Silva Cav em Qui 14 Jun 2012, 19:02

affz...sinceramente...estou kebrando a kbeça apenas com isso de assim q uma sprite acabar entre outra e fique, isso ai que o Saim ta me mostrando ja eh uma visao diferente de programar....
por enquanto estou apenas tentando fazer do jeito facil...se dojeito facil n estou conseguindo....imagina do jeito dificil....


alguem por favor....me ensina como faz para q qndo eu faço o movimento de andar as sprites façam como no castlevania sotn....pra quem ja jogou...sabe;..pra qm n jogou...


eh o seguinte....se vc estiver parado.....e começar a andar....o sprite sera de começar a andar....e qndo o sprite termina....entra o sprite andando...qndo vc para de andar....tem o sprite parar de andar...e depois o sprite parado....quando vc vira o lado (direita para esquerda, e vice-versa) tem o sprite de virar o lado e depois andar....


o que eu preciso eh de uma variavel ou de um comando q faça isso....

ate aqui a minha duvida nao foi clareada....

Max Henrique da Silva Cav

Número de Mensagens : 8
Idade : 25
Data de inscrição : 02/06/2012
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: [DUVIDA]mudar sprite ao finalizar animaçao?

Mensagem por Max Henrique da Silva Cav em Qui 14 Jun 2012, 21:36

ajuda aew...desculpa pelo duplo post... mas eu preciso mto disso...

Max Henrique da Silva Cav

Número de Mensagens : 8
Idade : 25
Data de inscrição : 02/06/2012
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: [DUVIDA]mudar sprite ao finalizar animaçao?

Mensagem por Darknex em Qui 14 Jun 2012, 22:56

Um Fan de Castlevania o/ ... bom eu também sou muito fan de Castlevania já ate comecei a criar um jogo no estilo ( só que não acabei u.u )
Bom vamos responder a pergunta XD
Vá ate Animation End ( como esta na imagem abaixo
http://i50.tinypic.com/vgg7n.png ( caso não abra a imagem )


lá adicione o seguinte código :
Código:
 
if sprite_index = Sprite_do_personagem_si_encrinando_para_frente { sprite_index= sprite_do_personagem_andando }

Pronto Happy

Darknex

Número de Mensagens : 174
Idade : 20
Data de inscrição : 08/12/2010
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://inventaku.forumeiros.com/

Voltar ao Topo Ir em baixo

Re: [DUVIDA]mudar sprite ao finalizar animaçao?

Mensagem por Super Maker em Sex 15 Jun 2012, 10:54

Fiz uma engine pra você entender um outro modo, sem precizar do evento animation_end.
Link: Castlevania

Super Maker

Número de Mensagens : 646
Idade : 33
Data de inscrição : 09/07/2011
Reputação : 6
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: [DUVIDA]mudar sprite ao finalizar animaçao?

Mensagem por Max Henrique da Silva Cav em Sex 15 Jun 2012, 14:05

Super Maker...

no caso...para qualquer movimento esse codigo serve?

tpw... pular; abaixar; atacar;...etc;?

no caso ja nao vou precisar utilizar variaveis para usar os codigos?! eh isso q eu entendi?!

vlw..


vlw tbm darknex o pessoal ta ajudando muito...


qndo sei projeto estiver pronto vou jogar....


amo mto castlevania....eh rox d+...

vlw galera...

Max Henrique da Silva Cav

Número de Mensagens : 8
Idade : 25
Data de inscrição : 02/06/2012
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: [DUVIDA]mudar sprite ao finalizar animaçao?

Mensagem por Max Henrique da Silva Cav em Sab 16 Jun 2012, 18:21

blz ta perfeito...agr so mais uma coisinha...

tpw...

se eu estiver olhando para a direita+apertar para a esquerda=ele usar uma sprite de mudança de lado?

vamos supor...
esse eh o codigo q o Super Maker me deu

Código:

if keyboard_check_pressed(vk_right){hspeed=3;image_xscale=1;sprite_index=spr_comecar_caminhar;} else {
if keyboard_check(vk_right){hspeed=3;x+=4;if sprite_index=spr_comecar_caminhar and image_index>=12{sprite_index=spr_caminhando;}}}
if keyboard_check_pressed(vk_left){hspeed=-3;image_xscale=-1;sprite_index=spr_comecar_caminhar;} else {
if keyboard_check(vk_left){hspeed=-3;x-=4;if sprite_index=spr_comecar_caminhar and image_index>=12{sprite_index=spr_caminhando;}}}
if keyboard_check(vk_nokey){hspeed=0;sprite_index=spr_parado;}


sera q daria para adicionar algo do tipo

Código:

if keyboard_check_pressed(vk_left) and ///identifiar q ele esta virado para a direita///{image_xscale=1;sprite_index=spr_tornar_lado;} else {
if keyboard_check(vk_left) and image_xscale=1{x+=4///PS:nao intendi oq isso faz///;if sprite_index=spr_tornar_lado and image_index>=10{sprite_index=spr_caminhando;}}}
if...vice-versa...

seria possivel?

tentei...porem o q me deu nos nervos foi q....

percebi uma coisa...

o player nao esta nem para a direita nem para a esquerda...logo...nao há como saber qndo ele deve usar tornar_lado tpw...ele n pode usar tornar_lado para a direita se ja estiver olhando para a esquerda...entendeu...

tpw....qndo o alucard do video la em cima esta virado para a direita e vira para a esquerda ele faz aquele movimento de mudar o lado....
mas no codigo citado nao define se esta virado para a direita ou para a esquerda....um codigo como esse definiria

Código:
if direita = true {//se para a direita
    if andando = true {//se estiver andando
        sprite_index = spr_keepwalkright
    }else{//se nao estiver andando
        sprite_index = spr_stopright
    }
}else{//se nao estiver para a direita
    if andando = true {//se estiver andando
        sprite_index = spr_keepwalkleft
    }else{//se nao estiver andando
        sprite_index = spr_stopleft
    }
}

pois tem direita = true //esta para a direita e direita=false//esta para a esquerda...

logo...como faço para q o sistema identifique q o player esta virado para a direita e q se ele apertar a tecla da esquerda ele deve usar o {...tornar_lado>=10{sprite_index=spr_caminhando;}}}...e se estiver para a esquerda e apertar a tecla da esquerda deve usar o {...comecar_caminhar>=12{sprite_index=spr_caminhando;}}}

como identificar a direçao para executar o comando certo?

Max Henrique da Silva Cav

Número de Mensagens : 8
Idade : 25
Data de inscrição : 02/06/2012
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: [DUVIDA]mudar sprite ao finalizar animaçao?

Mensagem por Super Maker em Sab 16 Jun 2012, 20:06

Max Henrique da Silva Cav escreveu:para qualquer movimento esse codigo serve?
Sim, serve pra tudo. Mas precisa ser detalhadamente organizado.

Super Maker

Número de Mensagens : 646
Idade : 33
Data de inscrição : 09/07/2011
Reputação : 6
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: [DUVIDA]mudar sprite ao finalizar animaçao?

Mensagem por cidmarcos em Seg 18 Jun 2012, 00:02

Event Keypress -left- Action Sprite change in (ANDANDO)
Event Keyrelease -left- - Action Sprite change in (PARADO)

Isso faz que enquanto vc esteja apertando a seta, ele vai andando, na hora que soltar, ele vai ficar parado. (imagem)

-----------------------------------------------------------------------------

Para fazer movimento vc deve já saber, isso é soh para a mudanças de sprites, é o caminho mais simples que eu poderia te explicar.

cidmarcos

Ranking : Nota D
Número de Mensagens : 177
Idade : 21
Data de inscrição : 26/05/2012
Notas recebidas : E+D
Reputação : 7
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://www.facebook.com/DragaoDeOuroJogo

Voltar ao Topo Ir em baixo

Re: [DUVIDA]mudar sprite ao finalizar animaçao?

Mensagem por Max Henrique da Silva Cav em Seg 18 Jun 2012, 14:54

meu eh o seguinte.....


vamo la.... ja vi muitos tutos aki ensinando a andar e ter a sprite mudada... mas o q eu quero eh um pouco mais complexo do que isso...

eh tipo;..vamo la...

qndo vc esta para a direita...aperta a tecla da direita...ele anda blz...mas ai ta o meu pro...eu kero q ele quando comecar a andar utilize uma sprite de começar a andar e quando essa sprite acabar se eu ainda estiver apertando a tecla de andar ele começa a utilizar a outra tecla...[resolvido; graças ao Super Maker;obr]

bem ai vem a outra parte q eu ainda n intendi como faço...

quando vc esta para a direita...aperta a tecla da "esquerda"...ele muda o lado...mais ai ta o meu pro...eu quero q ele quando virar o lado utilize uma sprite de virar o lado e se eu ainda estiver apertando a tecla ele continue andando.... com a sprite de andando...tdp na egine q o Super Maker deu la...
mas ai vem mais um grande problema q eu encontrei...como fazer para q o sistema reconheça a direçao q o personagem esta...

por exemplo if keyboard_check_pressed(vk_right){ direita = true} else if keyboard_check_pressed(vk_left){direita=false}...

blz perfeito...mas ai eh q ta...vamo la...direita = true...certo...ai eu aperto a tecla left e automaticamente direita = false...e aquele codigo de mudança nao funfa pq n esta para a direita...sendo assim...

aqui eh o sistema fisico
Código:
if keyboard_check_pressed(vk_right){
direita=true}else{
if keyboard_check(vk_right){
direita=true;andando = true
}else{
if keyboard_check_pressed(vk_left){
direita = false
}else{
if keyboard_check(vk_left){
direita = false;andando = true
}else{
andando=false
}}

e esse seria o de sprite
Código:

if direita = true{
if andando = true{
sprite_index=spr_andando
}else{
spr_parado
}}
...vice-versa para a esquerda

ate ai ele anda para um lado e para o outro normalmente...

mas como fazer para q isso seja possivel...vamo la...mechendo no fisico
Código:

if keyboard_check(vk_left) and direita = true{
tornar_lado_esq_para_dir = true; andando = true; direita = false
}else{
if keyboard_check(vk_right) and direita = false{
tornar_lado_dir_para_esq = true; andando = true; direita = true
}}

mas ai vem o conflito...

se ele estiver para a direita e apertar para a esquerda..automaticamente [direita(true) vira(false)] e o comando nao funfa mesmo eu pondo la no code de sprites....

oq eu faço?;.....como fazer para q se eu estiver para a direita apertar para a esquerda ele identifique que eu virei o lado...e nao q direita desligou....tpw sem precisar usar esse direita = true....usar outra variavel para q esse codigo seja utilizavel...
o codigo do Super Maker ajudou bastante...mas so me resta esse probleminha....depois disso vou ver se abro uma equipe para esse projeto...pq sozinho ta osso...

Max Henrique da Silva Cav

Número de Mensagens : 8
Idade : 25
Data de inscrição : 02/06/2012
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: [DUVIDA]mudar sprite ao finalizar animaçao?

Mensagem por Conteúdo patrocinado Hoje à(s) 17:53


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

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