Conectar-se
Quem está conectado
25 usuários online :: 1 usuário cadastrado, Nenhum Invisível e 24 Visitantes

jhoxgamer

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Ranking : Nota B
Notas recebidas : B+B
Data de inscrição : 04/03/2012
Número de Mensagens : 1925
Insígnias de JAM :

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

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

Criando auto- funções

em Ter 14 Jan 2014, 15:08
Olá galera eu queria saber se existe um modo de tipo, vou direto ao assunto, eu queria fazer um personagem indo até um certo ponto e parasse para eu continuar um outro evento no jogo, mas tipo
eu queria fazer essa função sem precisar especificar diversas coisas com gambiarras, eu pensei então em fazer algo assim:

Código:

while Event < 20
{
Event+=1
personagem.x+=4

}

só que eu queria que ele fosse andando gradualmente até chegar nesse ponto só que ao invés disso, ele salta direto ao ponto final, eu antes usava if no step e funcionava direitinho, mas eu quero usar esse método para outras funções e não apenas para isso, se tiver como usar o while(ou outro codigo) para construir essa temática, seria para mim muito mais rápido e prático de fazer, existe como fazer isso?
Ranking : Nota C
Notas recebidas : C+B
Data de inscrição : 26/07/2008
Número de Mensagens : 6037
Insígnias de JAM :

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

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

Re: Criando auto- funções

em Ter 14 Jan 2014, 15:39
Coloque screen_redraw() logo antes de terminar o while.
avatar
Ranking : Nota B
Notas recebidas : B - B - A - B
Data de inscrição : 06/07/2011
Número de Mensagens : 764
Insígnias de JAM :

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

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

Re: Criando auto- funções

em Ter 14 Jan 2014, 15:40
Ele tem que andar de um ponto A a um ponto B é isso ? Se for isso, você poderia pegar a distancia do ponto A ao ponto B, e fazer algo do tipo

Código:
while event < distanciaABinicial {
event+=1;
speed=1;
} else {
speed=0;
}

Se foi isso o que eu entendi
avatar
Ranking : Nota B
Notas recebidas : B+B
Data de inscrição : 04/03/2012
Número de Mensagens : 1925
Insígnias de JAM :

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

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

Re: Criando auto- funções

em Ter 14 Jan 2014, 16:17
Pimpi

Não se trata exatamente de apenas andar, tipo eu queria chamar uma função que ela parasse depois que alcançasse o

valor "X" dela tipo, eu aperto a "barra de espaço" ai o valor evento está em 0 ele vai correndo e quando chega em 50 por exemplo ele parasse sem a necessidade de o usar step, geralmente eu costumo usar alarm para ir chamando a função a cada 1 "step" enquanto o valor não alcançasse o objetivo x, e eu queria algo mais dinâmico que isso, todavia vou dar uma testada no seu código e vejo se posso usa-lo para isso ok.
avatar
Ranking : Nota B
Notas recebidas : B - B - A - B
Data de inscrição : 06/07/2011
Número de Mensagens : 764
Insígnias de JAM :

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

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

Re: Criando auto- funções

em Ter 14 Jan 2014, 16:28
Certo, então nem teste meu código porque sera inútil nessa situação. O que o pedro falou pode ser útil , só que ficaria muito rápido, algo como um objeto se mover muita coisa em um step. No entanto o que voce pode fazer é novamente aquele negocio de pegar a distancia, algo como:

Código:
alarm[0] = point_distance(Ax,Ay,Bx,By);
speed = 1;

E ai no alarm 0

Código:
speed=0;

Fora isso nao vejo outra maneira de fazer ele chegar no lugar apenas com um pressed. De qualquer forma vou ficar pensando aqui vendo se encontro algo.
avatar
Ranking : Sem avaliações
Data de inscrição : 08/06/2008
Número de Mensagens : 2314
Insígnias de JAM :

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

Prêmios
   : 3
   : 0
   : 1
Ver perfil do usuáriohttp://blackcapapps.blogspot.com.br/

Re: Criando auto- funções

em Ter 14 Jan 2014, 23:49
pinpi escreveu:Certo, então nem teste meu código porque sera inútil nessa situação. O que o pedro falou pode ser útil , só que ficaria muito rápido, algo como um objeto se mover muita coisa em um step. No entanto o que voce pode fazer é novamente aquele negocio de pegar a distancia, algo como:

Código:
alarm[0] = point_distance(Ax,Ay,Bx,By);
speed = 1;

E ai no alarm 0

Código:
speed=0;

Fora isso nao vejo outra maneira de fazer ele chegar no lugar apenas com um pressed. De qualquer forma vou ficar pensando aqui vendo se encontro algo.
Ótima ideia!


Eu faço de outra forma.
Código:
// no Create
xx = x;
yy = y;

// No Step
x += sign(xx-x)*velocidade;
y += sign(yy-y)*velocidade;

Assim basta definir xx e yy em qualquer parte do jogo um vez que eles vão automaticamente ate o ponto e param sem precisar mexer em qualquer outra coisa.
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