Qual o erro no código ?

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

Resolvido Qual o erro no código ?

Mensagem por Zero. em Seg 04 Jun 2012, 18:17

eu coloquei no step do player:
Código:

if direction>=315 and direction<360 or direction=0 and direction<45
{sprite_index=spr_player_lado
image_xscale=-1}
if direction>=225 and direction<315
{sprite_index=spr_player_baixo}
if direction>=45 and direction<135
{sprite_index=spr_player_cima}
if direction>=135 and direction<225
{sprite_index=spr_player_lado
image_xscale=1}}
else
{image_index=0}

Problema : o jogador so dá um passo para direita, depois a sprite que fica se ele for pra direita é a ultima que estava.
tipo, andei pra direita (blz sprite mudou) depois andei para baixo (sprite mudou) depois andei para direita ( a sprite que ficou foi a que anda pra baixo) porque ?

THX


Última edição por FlyAway em Seg 04 Jun 2012, 22:51, editado 1 vez(es)

Zero.

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

Voltar ao Topo Ir em baixo

Resolvido Re: Qual o erro no código ?

Mensagem por Kapoty em Seg 04 Jun 2012, 22:15

cara tenta salvar a direção do player em uma variavel como:
Código:
direcao = 'direita'
ai vc declara esta variavel ao apertar a tecla necessaria para andar para tal direção entendeu?

Kapoty

Ranking : Nota B
Número de Mensagens : 635
Data de inscrição : 05/11/2011
Notas recebidas : E + D + C + B + D +B + A
Reputação : 22
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 1

Voltar ao Topo Ir em baixo

Resolvido Re: Qual o erro no código ?

Mensagem por Zero. em Seg 04 Jun 2012, 22:17

era assim.mas eu só quero mudar as sprites entaum ficou desnecessário.

Zero.

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

Voltar ao Topo Ir em baixo

Resolvido Re: Qual o erro no código ?

Mensagem por Kapoty em Seg 04 Jun 2012, 22:20

FlyAway escreveu:era assim.mas eu só quero mudar as sprites entaum ficou desnecessário.

N Entendi Suspect

Kapoty

Ranking : Nota B
Número de Mensagens : 635
Data de inscrição : 05/11/2011
Notas recebidas : E + D + C + B + D +B + A
Reputação : 22
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 1

Voltar ao Topo Ir em baixo

Resolvido Re: Qual o erro no código ?

Mensagem por Zero. em Seg 04 Jun 2012, 22:33

simplesmente oque eu quero é mudar a sprite de acordo com a direção.
eu fis um range de 90º pra cada lado, tipo de 225º ate 315º , a sprite dele é para baixo, entaum pra que armazenar a sua direção se a direction ja faz isso ?

Zero.

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

Voltar ao Topo Ir em baixo

Resolvido Re: Qual o erro no código ?

Mensagem por Kapoty em Seg 04 Jun 2012, 22:35

FlyAway escreveu:simplesmente oque eu quero é mudar a sprite de acordo com a direção.
eu fis um range de 90º pra cada lado, tipo de 225º ate 315º , a sprite dele é para baixo, entaum pra que armazenar a sua direção se a direction ja faz isso ?

A Cara Eu Tentei Ajudar Mas Ja Que Isso Não Resolveu Deixa Pra Lá...

Kapoty

Ranking : Nota B
Número de Mensagens : 635
Data de inscrição : 05/11/2011
Notas recebidas : E + D + C + B + D +B + A
Reputação : 22
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 1

Voltar ao Topo Ir em baixo

Resolvido Re: Qual o erro no código ?

Mensagem por Super Maker em Seg 04 Jun 2012, 22:40

Vê se funciona tirando o else {image_index=0}

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

Resolvido Re: Qual o erro no código ?

Mensagem por Zero. em Seg 04 Jun 2012, 22:51

Não.
Olha que loucura louca.
Mais uma vez o sobrenatural entrou no meu pc e me ajudou (obrigado espiritos antigos das forças antigas do windows 96)
Tava com esse problema ai fui testar denovo (naum mudei nada) e derrepente ! BUM! o erro naum mais ocorria o_O sinistro !
Bem, sendo assim resolvido e naum resolvido pois não sei oque aconteceu o_O

THX

Zero.

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

Voltar ao Topo Ir em baixo

Resolvido Re: Qual o erro no código ?

Mensagem por Kapoty em Seg 04 Jun 2012, 22:54

FlyAway escreveu:Não.
Olha que loucura louca.
Mais uma vez o sobrenatural entrou no meu pc e me ajudou (obrigado espiritos antigos das forças antigas do windows 96)
Tava com esse problema ai fui testar denovo (naum mudei nada) e derrepente ! BUM! o erro naum mais ocorria o_O sinistro !
Bem, sendo assim resolvido e naum resolvido pois não sei oque aconteceu o_O

THX

Que Doidera Man,Isso Ja Aconteceu Comigo Tambe Derrepente o Jogo Não Dava Mais Erro xD.

Off:Você Acredita Em Deus?Entaum Você Acredita Em Milegras www.eucreioemmilegres.com.br kkk

Kapoty

Ranking : Nota B
Número de Mensagens : 635
Data de inscrição : 05/11/2011
Notas recebidas : E + D + C + B + D +B + A
Reputação : 22
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 1

Voltar ao Topo Ir em baixo

Resolvido Re: Qual o erro no código ?

Mensagem por Zero. em Seg 04 Jun 2012, 22:58

Não. HSAUSHAUHSUAHS, mas acredito em forças sobrenaturais o_O.
Ainda to tentando descobrir oque foi , tudo tem explicação rsrs.

Zero.

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

Voltar ao Topo Ir em baixo

Resolvido Re: Qual o erro no código ?

Mensagem por GameMakerTutoriais em Ter 05 Jun 2012, 00:11



simplesmente oque eu quero é mudar a sprite de acordo com a direção. eu fis um range de 90º pra cada lado, tipo de 225º ate 315º , a sprite dele é para baixo, entaum pra que armazenar a sua direção se a direction ja faz isso ?

Tenta isso aqui. Deixei comentado...

Código:
var dirx, diry, vira;

/*
Coordenadas do ponto para onde o player vai virar:
*/

dirx = mouse_x;
diry = mouse_y;

/*
Pega a direção e joga em direction
*/

direction = point_direction(x, y, dirx, diry);

/*
A escala horizontal será apenas 1 = direita ou (-1) = esquerda
*/

image_xscale = sign(dirx - x) | 1;

/*
Pega a direção como se fosse uma das 8 direções do controle (de 1 = 0º a 8 = 360º). Depois divide por 2 e pega a parte inteira pra simplificar a comparação lá em baixo.
*/

vira = (1 + direction/45) div 2;

/*
Se a direção for 1 (de 45º a 135º) escolhe o sprite para cima, se for 3 (de 225º a 315º) escolhe o sprite para baixo. Se não for nenhum dos dois, será então "default", o sprite de lado (obedecendo o image_xscale):
*/

switch (vira)
{
    case (1): sprite_index = spr_player_cima;  break;
    case (3): sprite_index = spr_player_baixo; break;
   
    default:
    sprite_index = spr_player_lado;
}

Flws!

Obs: se você tiver um sprite diferente pra cada uma das oito (ou quatro) direções também funciona (ao invés de usar o image_xscale). Acho que seria mais fácil. Se você souber usar arrays, é só usar o valor de "vira" no array.

GameMakerTutoriais

Número de Mensagens : 800
Data de inscrição : 29/01/2011
Reputação : 26
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Resolvido Re: Qual o erro no código ?

Mensagem por saim em Ter 05 Jun 2012, 09:22

if direction>=315 and direction<360 or direction=0 and direction<45
equivale a
if (((direction>=315 and direction<360) or (direction=0)) and direction<45)
suponho que você queira dizer
if (direction>=315 and direction<360) or (direction>=0 and direction<45)
Pra isso, você precisa dos parênteses (e do ">").

Suponho que você tenha alterado alguma coisa na parte que define o valor de direction, deixando apenas os valores 0-90-180-270, o que explicaria a solução mística (a única situação em que ir pra direita funciona, no código original, é quando direction==0). Notei um colchete sobrando antes do "else", logo deve ter um pouco mais de código antes desse que foi mostrado.

Presumo que as sprites de subir e descer sejam simétricas, certo? De outra forma, talvez seja interessante definir image_xscale também nesses casos.

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

Resolvido Re: Qual o erro no código ?

Mensagem por Zero. em Ter 05 Jun 2012, 13:09

naum,
O movimento é livre e é feito pelo teclado.
ou seja , eu posso segurar cima e esquerda e ir para diagonal.
é só isso, num entendi nada doq o ninja falou o_O

Zero.

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

Voltar ao Topo Ir em baixo

Resolvido Re: Qual o erro no código ?

Mensagem por Conteúdo patrocinado Hoje à(s) 07:34


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