Conectar-se

Esqueci minha senha

Últimos assuntos
» [Enquete] Concursos GMBR
por Willy Ontem à(s) 19:49

» CR - Concurso Relâmpago!!
por Willy Ter 18 Jul 2017, 17:11

» 3D:como rodar a camara em horizontal?
por Cambalinho Ter 18 Jul 2017, 15:09

» [Resolvido] pode explicar a d3d_set_projection()?
por Cambalinho Ter 18 Jul 2017, 11:28

» Escrever a resposta certa muda de room
por PedroX Seg 17 Jul 2017, 21:46

» Nota de esclarecimento - GMBR voltou!
por Mentos e Coca-cola Seg 17 Jul 2017, 17:05

» [CR] Campo Minado
por Katerp Dom 16 Jul 2017, 23:09

» [CR] The Bazooka Cat
por Tedi Ripper Dom 16 Jul 2017, 23:01

» Como melhorar um protótipo(Design)
por lolandoplayer Dom 16 Jul 2017, 22:56

» Diminuir velocidade ao arrastar objeto
por LwysF Dom 16 Jul 2017, 17:33

Quem está conectado
21 usuários online :: Nenhum usuário registrado, Nenhum Invisível e 21 Visitantes

Nenhum

[ Ver toda a lista ]


O recorde de usuários online foi de 324 em Ter 05 Out 2010, 13:36
Estatísticas
Temos 12700 usuários registrados
O último usuário registrado atende pelo nome de Eduardo Gomes

Os nossos membros postaram um total de 220919 mensagens em 30412 assuntos

Problema com script

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

Problema com script

Mensagem por DavidSousa7474 em Sex 29 Jun 2012, 11:36

Estava a fazer um jogo de plataformas e fiz um script para ser global e facil de mudar de personagem para personagem.
Então fiz o seguinte:
Spoiler:
/*0-gravidade*/
/*1-salto*/
/*2-velocidade*/

//*gravidade e salto
if keyboard_check(vk_up)and not place_empty(x,y+1){vspeed=-argument1}
else{gravity=argument0}
if place_empty(x,y-1){gravity=argument0}
if keyboard_check_released(vk_up)and vspeed<0{vspeed/=2}

//*esquerda
if keyboard_check(vk_left)and not keyboard_check(vk_right)
and place_free(x-1,y){hspeed=-argument2} else {hspeed=0;esquerda=false}
//*direita
if not keyboard_check(vk_left)and keyboard_check(vk_right)
and place_free(x+1,y){hspeed=argument2} else {hspeed=0}

No step do objeto jogador coloquei:
Spoiler:
{movimento(0.5,8,4)

E não sei porque o jogador não se move para a esquerda ja tentei varias alternativas mas não consegui:S
Ajudem-me por favor e obrigado.

DavidSousa7474

Ranking : Nota D
Notas recebidas : D
Data de inscrição : 07/12/2010
Número de Mensagens : 75
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Prêmios
   : 0
   : 0
   : 0

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Problema com script

Mensagem por PedroX em Sex 29 Jun 2012, 12:12

Não identifiquei o problema em si, mas o código pode ser melhorado. Talvez com isso funcione:

Código:
if keyboard_check(vk_up) && !place_empty(x, y+1)
    {vspeed = -argument1;}

if place_empty(x, y+vspeed+1)
    {vspeed += argument0;}
else
    {vspeed = 0;}

if keyboard_check_released(vk_up) && vspeed<0
    {vspeed *= 0.5;}

//Esquerda
if keyboard_check(vk_left) && place_free(x-argument2,y)
    {x -= argument2;}

//Direita
if keyboard_check(vk_right) && place_free(x+argument2, y)
    {x += argument2;}

Acho que com isso já funciona.

PedroX

Ranking : Nota C
Notas recebidas : C+B
Data de inscrição : 26/07/2008
Número de Mensagens : 6036
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Prêmios
   :
   :
   :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Problema com script

Mensagem por DavidSousa7474 em Sex 29 Jun 2012, 13:28

Funcionei bem Very Happy , mas continuo sem perceber o problema também gostava de saber o porquê de não caminhar para a esquerda, afinal de contas também estamos aqui para aprender Razz
E também tem uma terminações um pouco más, quando salta de um lugar alto, abranda e depois e que para :S

DavidSousa7474

Ranking : Nota D
Notas recebidas : D
Data de inscrição : 07/12/2010
Número de Mensagens : 75
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Prêmios
   : 0
   : 0
   : 0

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Problema com script

Mensagem por saim em Sex 29 Jun 2012, 14:04

No final do seu código tem as seguintes linhas:
Código:
//*direita
if not keyboard_check(vk_left)and keyboard_check(vk_right)
and place_free(x+1,y){hspeed=argument2} else {hspeed=0}
Então, se você manda ele ir pra direita, ele vai pra direita, se não manda, ele fica parado.
Quando você manda ele ir pra esquerda, ele funciona direitinho, mas logo depois, no mesmo código, ele executa as linhas que eu copiei, resultando numa hspeed = 0.
avatar
saim

Ranking : Nota B
Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Número de Mensagens : 2964
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Prêmios
   : 1
   : 0
   : 3

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Problema com script

Mensagem por DavidSousa7474 em Sex 29 Jun 2012, 14:22

Obrigado a todos, já entendi o problema, fui muito troll Happy

DavidSousa7474

Ranking : Nota D
Notas recebidas : D
Data de inscrição : 07/12/2010
Número de Mensagens : 75
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Prêmios
   : 0
   : 0
   : 0

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Problema com script

Mensagem por saim em Sex 29 Jun 2012, 14:54

@DavidSousa7474 escreveu:fui muito troll Happy
A palavra é "noob" Laughing . Não que você tenha sido noob, mas a palavra que você quis usar é "noob".

Tranquilo! Qualquer coisa, estamos aí!
avatar
saim

Ranking : Nota B
Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Número de Mensagens : 2964
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Prêmios
   : 1
   : 0
   : 3

Ver perfil do usuário

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