Conectar-se
Quem está conectado
30 usuários online :: Nenhum usuário registrado, Nenhum Invisível e 30 Visitantes

Nenhum

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Data de inscrição : 21/06/2014
Número de Mensagens : 13
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 5
Ver perfil do usuário

[Problema] Mudanca de sprites

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º
avatar
Data de inscrição : 21/06/2014
Número de Mensagens : 13
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 5
Ver perfil do usuário

Re: [Problema] Mudanca de sprites

em Ter 24 Jun 2014, 19:57
Caramba ninguem sabe programar aki?
avatar
Data de inscrição : 02/06/2013
Número de Mensagens : 42
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0
Ver perfil do usuário

Re: [Problema] Mudanca de sprites

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.
avatar
Data de inscrição : 21/04/2014
Número de Mensagens : 124
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 24

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: [Problema] Mudanca de sprites

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.
avatar
Ranking : Sem avaliações
Data de inscrição : 23/05/2012
Número de Mensagens : 515
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 36

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuáriohttp://www.wibix.webs.com

Re: [Problema] Mudanca de sprites

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;
}
avatar
Data de inscrição : 21/06/2014
Número de Mensagens : 13
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 5
Ver perfil do usuário

Re: [Problema] Mudanca de sprites

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
avatar
Data de inscrição : 21/04/2014
Número de Mensagens : 124
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 24

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: [Problema] Mudanca de sprites

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.
avatar
Ranking : Nota A
Notas recebidas : C + B + A + A
Data de inscrição : 08/06/2009
Número de Mensagens : 1846
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 254

Prêmios
   : 2
   : 1
   : 1
Ver perfil do usuáriohttp://willy-gmbr.blogspot.com/

Re: [Problema] Mudanca de sprites

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!
avatar
Data de inscrição : 21/04/2014
Número de Mensagens : 124
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 24

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: [Problema] Mudanca de sprites

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.
avatar
Data de inscrição : 21/06/2014
Número de Mensagens : 13
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 5
Ver perfil do usuário

Re: [Problema] Mudanca de sprites

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
Ver o tópico anteriorVoltar ao TopoVer o tópico seguinte
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum