[Problema] Mudanca de sprites

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

[Problema] Mudanca de sprites

Mensagem por mumiaz em Ter 24 Jun 2014, 00:09

Alguem poderia me dizer o que tem de errado nesse script de movimento:
Tentei fazer de duas formas como vcs podem ver mas as 2 tem problemas

Código:
if keyboard_check(vk_right) and !keyboard_check(vk_left)
and !keyboard_check(vk_up)and !keyboard_check(vk_down){
    image_xscale=1;
    sprite_index=spr_Billy_cima_andando;
}
if keyboard_check(vk_left) and !keyboard_check(vk_right)
and !keyboard_check(vk_up)and !keyboard_check(vk_down){
    image_xscale=-1;
    sprite_index=spr_Billy_cima_andando;
}
if keyboard_check(vk_up) and keyboard_check(vk_right)
and !keyboard_check(vk_left)and !keyboard_check(vk_down){
    image_xscale=1;
    sprite_index=spr_Billy_mira_lado_cima;
}
if keyboard_check(vk_up) and keyboard_check(vk_left)
and !keyboard_check(vk_right)and !keyboard_check(vk_down){
    image_xscale=-1;
    sprite_index=spr_Billy_mira_lado_cima;
}

/*if keyboard_check_pressed(vk_right){
    image_xscale=1;
    if keyboard_check(vk_up){
        sprite_index=spr_Billy_mira_lado_cima;
    }
    else{
        if keyboard_check(vk_down){
           sprite_index=spr_Billy_mira_lado_baixo;
        }else{
            sprite_index=spr_Billy_cima_andando;
        }
    }
}
else{
    if keyboard_check_pressed(vk_left){
        image_xscale=-1;
        sprite_index=spr_Billy_cima_andando;
            if keyboard_check(vk_up){
                sprite_index=spr_Billy_mira_lado_cima;
            }
            else{
                if keyboard_check(vk_down){
                  sprite_index=spr_Billy_mira_lado_baixo;
                }else{
                    sprite_index=spr_Billy_cima_andando;
                }
            }
    }
}
*/


OBS: Tive problemas para postar a imagem

      Billy_mira_lado = Mira de 90º ou 180º
      Billy_mira_lado_cima = Mira de 45º ou 135º
      Billy_mira_lado_baixo = Mira de 225º ou 315º

mumiaz

Número de Mensagens : 13
Data de inscrição : 21/06/2014
Reputação : 5
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: [Problema] Mudanca de sprites

Mensagem por mumiaz em Ter 24 Jun 2014, 19:57

Caramba ninguem sabe programar aki?

mumiaz

Número de Mensagens : 13
Data de inscrição : 21/06/2014
Reputação : 5
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: [Problema] Mudanca de sprites

Mensagem por ocarteiro em Qua 25 Jun 2014, 10:48

mumiaz escreveu:Caramba ninguem sabe programar aki?

Há muitos bons programadores por aqui, eu não sou um deles mas depois do que vc disse eu não lhe tirava a dúvida.

ocarteiro

Número de Mensagens : 42
Idade : 18
Data de inscrição : 02/06/2013
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: [Problema] Mudanca de sprites

Mensagem por 7hiagomp em Qua 25 Jun 2014, 10:52

cara se vc sabe que tem 2 problemas vc podia descrever o problema invés de a gente ter q adivinhar, isso aqui é pra ajudar você não é pergunta do show do milhão.

7hiagomp

Número de Mensagens : 124
Idade : 31
Data de inscrição : 21/04/2014
Reputação : 24
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: [Problema] Mudanca de sprites

Mensagem por Witen em Qua 25 Jun 2014, 11:01

Como seria a logica:
Código:
//Se eu estiver apertando a seta direita, e não estiver apertando a esqueda nem a de cima nem a de baixo
//image_xscale permanesce a mesma(padrão) e muda a sprite para CIMA
//se ele ta indo pra direita como vai mudar pra cima? KKKKKKKKKKKKKK
if keyboard_check(vk_right) and !keyboard_check(vk_left) and !keyboard_check(vk_up)and !keyboard_check(vk_down){
    image_xscale=1;
    sprite_index=spr_Billy_cima_andando;
}
//Se eu estiver apertando a seta esquerdaz, e não estiver apertando a direitaa nem a de cima nem a de baixo
//xscale inverte a imagem e muda a sprite pra cima de novo ><"
if keyboard_check(vk_left) and !keyboard_check(vk_right) and !keyboard_check(vk_up)and !keyboard_check(vk_down){
    image_xscale=-1;
    sprite_index=spr_Billy_cima_andando;
}
//Se eu tiver apertano pra ir pra cima e ireita ao mesmo tempo e não estiver apertano nem esquerad nem pra baixo
//image escala permanesce 1(padrão)
//sprite lado de cima beleza aqui ta certo
if keyboard_check(vk_up) and keyboard_check(vk_right) and !keyboard_check(vk_left)and !keyboard_check(vk_down){
    image_xscale=1;
    sprite_index=spr_Billy_mira_lado_cima;
}
//certo tambem
if keyboard_check(vk_up) and keyboard_check(vk_left) and !keyboard_check(vk_right)and !keyboard_check(vk_down){
    image_xscale=-1;
    sprite_index=spr_Billy_mira_lado_cima;
}
Forma mais simples:
Código:
//Exit para a ececução do codigo, se já achou o comando certo para que continuar checando?
if keyboard_check(vk_right) and keyboard_check(vk_left){
    image_xscale=1;
    sprite_index=spr_Billy_cima_andando;
    exit
}
if keyboard_check(vk_left) and !keyboard_check(vk_right){
    image_xscale=-1;
    sprite_index=spr_Billy_cima_andando;
    exit
}
if keyboard_check(vk_up) and keyboard_check(vk_right){
    image_xscale=1;
    sprite_index=spr_Billy_mira_lado_cima;
    exit
}
if keyboard_check(vk_up) and keyboard_check(vk_left){
    image_xscale=-1;
    sprite_index=spr_Billy_mira_lado_cima;
}

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: [Problema] Mudanca de sprites

Mensagem por mumiaz em Qua 25 Jun 2014, 20:19

ocarteiro escreveu:Há muitos bons programadores por aqui, eu não sou um deles mas depois do que vc disse eu não lhe tirava a dúvida.

So disse isso pq meu post tinha mais de 30 views e nenhuma resposta, e eu teria q dizer alguma coisa pro post nao sumir

7hiagomp escreveu:cara se vc sabe que tem 2 problemas vc podia descrever o problema invés de a gente ter q adivinhar, isso aqui é pra ajudar você não é pergunta do show do milhão.

Se vc tivesse prestado atençao no que eu escrevi veria q nao sei onde esta o problema, eu tentei fazer de DUAS formas e as DUAS deram problema.


witen escreveu:Como seria a logica:

Código:
//Se eu estiver apertando a seta direita, e não estiver apertando a esqueda nem a de cima nem a de baixo
//image_xscale permanesce a mesma(padrão) e muda a sprite para CIMA
//se ele ta indo pra direita como vai mudar pra cima? KKKKKKKKKKKKKK
if keyboard_check(vk_right) and !keyboard_check(vk_left) and !keyboard_check(vk_up)and !keyboard_check(vk_down){
    image_xscale=1;
    sprite_index=spr_Billy_cima_andando;
}
//Se eu estiver apertando a seta esquerdaz, e não estiver apertando a direitaa nem a de cima nem a de baixo
//xscale inverte a imagem e muda a sprite pra cima de novo ><"
if keyboard_check(vk_left) and !keyboard_check(vk_right) and !keyboard_check(vk_up)and !keyboard_check(vk_down){
    image_xscale=-1;
    sprite_index=spr_Billy_cima_andando;
}
//Se eu tiver apertano pra ir pra cima e ireita ao mesmo tempo e não estiver apertano nem esquerad nem pra baixo
//image escala permanesce 1(padrão)
//sprite lado de cima beleza aqui ta certo
if keyboard_check(vk_up) and keyboard_check(vk_right) and !keyboard_check(vk_left)and !keyboard_check(vk_down){
    image_xscale=1;
    sprite_index=spr_Billy_mira_lado_cima;
}
//certo tambem
if keyboard_check(vk_up) and keyboard_check(vk_left) and !keyboard_check(vk_right)and !keyboard_check(vk_down){
    image_xscale=-1;
    sprite_index=spr_Billy_mira_lado_cima;
}

Na verdade vc interpretou mal, culpa minha por nao postar as imagens, é o seguinte meu personagem é composto por dois objetos obj_Billy_cima e obj_Billy_pernas, esse codigo de mudança de sprite foi inserido na parte de cima do personagem obj_Billy_cima justamente para mudar o sprite e mirar na direçao certa, entao o spr_Billy_cima_andando serve para trocar pra imagem q esta andando, quanto ao exit eu nao sabia q existia  Laughing  entao eu fiz dessa forma q vc esta vendo, agora ta dando tudo certo pq eu fiz como vc falou.

Vlw pela ajuda

spr_Billy_cima_andando
 

spr_Billy_mira_lado


spr_Billy_mira_lado_cima


Consegui postar a imagem em outro navegador

mumiaz

Número de Mensagens : 13
Data de inscrição : 21/06/2014
Reputação : 5
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: [Problema] Mudanca de sprites

Mensagem por 7hiagomp em Qua 25 Jun 2014, 22:17

mumiaz escreveu:
7hiagomp escreveu:cara se vc sabe que tem 2 problemas vc podia descrever o problema invés de a gente ter q adivinhar, isso aqui é pra ajudar você não é pergunta do show do milhão.

Se vc tivesse prestado atençao no que eu escrevi veria q nao sei onde esta o problema, eu tentei fazer de DUAS formas e as DUAS deram problema.

Já que você fala tão bem a linguagem da ignorância, vou tentar usar ela pra falar com você, assim quem sabe, um ser humano que nem você possa entender melhor o que estou tentando dizer;

SE DEU PROBLEMA ENTÃO CONTE PARA NÓS QUAL É,
E NÃO DIGA "DEU PROBLEMA" DIGA;

"EU QUERIA QUE X ACONTECESSE MAS AÍ Y ACONTECEU."

A PORRA DO PROBLEMA É QUANDO APERTA PRA CIMA? PRA BAIXO?
VC APERTOU PRA CIMA E ACONTECEU A ANIMAÇÃO DE BAIXO?
DEU MENSAGEM DE ERRO?
ABRIU O SITE DO REDTUBE?

DESCREVA O PROBLEMA.


assim, quem sabe, possamos ser mais úteis e ajudar mais com o seu problema.
de nada.



---------- Já sei qual seu problema -----------------------

você está fazendo uma checagem de diagonal, de acordo com a pressão de 2 teclas, mas não está considerando que o player pode apertar uma e depois outra.

Exemplo, supondo que eu estou andando pra direita, e quero mirar pra baixo, eu já estou segurando direita
(ou seja, o código já entrou em vk_right e disse que é verdadeiro)

Então aperto pra baixo, só que como o comando anterior é verdadeiro e não passou a ser falso ele não entra na proxima condição por uma questão de hierarquia.
(ele só vai entrar na próxima que é direita e pra baixo se você soltar o botão e apertar os dois ao mesmo tempo)

agora vê se melhora essa sua ignorância.

7hiagomp

Número de Mensagens : 124
Idade : 31
Data de inscrição : 21/04/2014
Reputação : 24
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: [Problema] Mudanca de sprites

Mensagem por Willy em Qua 25 Jun 2014, 23:30

mumiaz escreveu:Caramba ninguem sabe programar aki?
mumiaz escreveu:So disse isso pq meu post tinha mais de 30 views e nenhuma resposta, e eu teria q dizer alguma coisa pro post nao sumir
Um erro não justifica o outro. Além de fazer duas postagens consecutivas, usou da intolerância e ignorância como argumento.
7hiagomp escreveu:Já que você fala tão bem a linguagem da ignorância, vou tentar usar ela pra falar com você, assim quem sabe, um ser humano que nem você possa entender melhor o que estou tentando dizer;
Fogo se combate com fogo, mas ignorância não se combate com ignorância. Isso só gera mais discussões.

Não se esqueçam que estamos um uma comunidade, e que portanto, "civilização" é essencial para o bom funcionamento do fórum. Sejam mais pacientes. Considere isto como um alerta para os dois. Não sou mais moderador, mas sou da staff, portanto, é um alerta válido e sujeito a punições.

Sermão a parte e voltando ao assunto do tópico, mumiaz, recomendo que leia este artigo que escrevi a respeito de troca de sprites. Talvez seja esclarecedor e você mesmo conseguirá concertar o problema, além de ser bem mais gratificante fazer isso sozinho. Tutorial: Aprendendo a trocar de spritres!

___________


Engines, tutoriais e projetos? Clique no banner!



Atenção:
Comporte-se, senão você vai levar a cintada do Willy no meio da bunda! bravo


Willy

Ranking : Nota A
Número de Mensagens : 1812
Idade : 22
Data de inscrição : 08/06/2009
Notas recebidas : C + B + A + A
Reputação : 245
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 2
   : 1
   : 1

http://willy-gmbr.blogspot.com/

Voltar ao Topo Ir em baixo

Re: [Problema] Mudanca de sprites

Mensagem por 7hiagomp em Qui 26 Jun 2014, 14:41

Desculpa aí Willy, mas como diria uma amiga muito próxima minha;  "as vezes 'ficar calmo' não é uma opção, não é algo que se possa controlar"

mas só as vezes.
Realmente eu tava meio sem paciência hoje, até pensei que ia ganhar um warn mas enfim.

Desculpe aí a quem ofendi.


------------------- solucao com codigo ---------------------

mantive o nome das sprites que você deu pra facilitar a transição e apliquei tudo a um unico objeto chamado obj_billy

CREATE_obj_Billy:

Código:
image_speed = 0
mira_up = false

STEP_obj_Billy:

Código:
if keyboard_check(vk_right)
    {
        image_xscale = 1
        if mira_up == true
        {
            sprite_index = spr_Billy_mira_lado_cima
        }
        else
        {
            sprite_index = spr_Billy_cima_andando
            image_speed = room_speed/3
        }
       
       
    }
    else if keyboard_check(vk_left)
    {
        image_xscale = -1
        if mira_up == true
        {
            sprite_index = spr_Billy_mira_lado_cima
        }
        else
        {
            sprite_index = spr_Billy_cima_andando
            image_speed = room_speed/3
        }
                     
    }
    else if keyboard_check(vk_up)
        {
            sprite_index = spr_Billy_mira_lado_cima
        }     

if keyboard_check(vk_up){mira_up =  true}
    else{mira_up = false}

ps.: ainda tem um problema de (não sei porque) mesmo o image_speed na velocidade normal de 10fps a animação nao aparece na tela, vou testar aqui e se achar solução (ou alguém do forum achar) poste por favor.

7hiagomp

Número de Mensagens : 124
Idade : 31
Data de inscrição : 21/04/2014
Reputação : 24
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: [Problema] Mudanca de sprites

Mensagem por mumiaz em Qui 26 Jun 2014, 20:20

Desculpa Willy eu tinha q postar alguma coisa para o meu post nao sumir, como aconteceu com um outro, e acabei usando essa postagem para provocar  Happy  e obrigado por me recomendar seu tutorial q propoe uma maneira de fazer, q eu desconhecia.
E desculpa pela ignorancia 7hiagomp mas sua resposta me me pareceu ignorante e me deu a impressao q vc tinha lido errado.

Quanto ao meu problema,
eu precisava q alguem experiente no assunto, me disesse o q eu estava fazendo de errado, pois eu so sei o basico sobre os metodos de mudança de sprite entao tive problemas com o uso de varias combinaçoes de teclas, eu consegui fazer do modo q o witen falou, porem vou usar o tutorial do Willly e a soluçao do 7hiagomp para formar o script, por ser mais simples e de melhor entendimento.
Obrigado a todos

mumiaz

Número de Mensagens : 13
Data de inscrição : 21/06/2014
Reputação : 5
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: [Problema] Mudanca de sprites

Mensagem por Conteúdo patrocinado Hoje à(s) 19:11


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