- Data de inscrição : 19/08/2010
Número de Mensagens : 1299
Insígnias de JAM :x 0
x 0
x 0
Reputação : 47
Prêmios: 1
: 0
: 0
Angulo para ponteiro.
em Qui 12 Jul 2012, 13:34
Pessoal, eu fiz um relógio, e ele tem 24 hroas (que no jogo são 24 min), eu queria saber como fazer o ponteiro girar na hora certa. (Eu esqueci a formula
)
COmo faz ?


COmo faz ?
- Data de inscrição : 29/05/2008
Número de Mensagens : 422
Insígnias de JAM :x 0
x 0
x 0
Reputação : 16
Prêmios: 0
: 0
: 0
Re: Angulo para ponteiro.
em Qui 12 Jul 2012, 14:00
Acredito que assim funciona! Testado
Create
Step
Create
- Código:
maximo = 12; // Horas
horaInicial = 0; // Hora inicial
agora = horaInicial // Presente
contador = 0;
contadorMaximo = 24*60*room_speed; // Limite de tempo até que se passem 24 horas
anguloInicial = 90; // Posição inicial do ponteiro, sendo 0 para a direita, 90 para cima, 180 para a esquerda, 270 para baixo
image_angle = anguloInicial; // Fazer a posição do ponteiro ser a inicial
Step
- Código:
contador += 1; // Aumentar sempre o contador
if (contador > contadorMaximo)
contador = room_restart; // Se der o limite de tempo, reiniciar a fase (ou o que você quiser)
if (agora >= maximo)
agora = 0; // Se passar do máximo de horas que está nor relógio, contar de novo
agora = horaInicial + (contador/room_speed/60)
image_angle = anguloInicial - ((agora / maximo) * 360);
- Ranking :
Notas recebidas : C+B
Data de inscrição : 26/07/2008
Número de Mensagens : 6041
Insígnias de JAM :x 0
x 0
x 0
Reputação : 295
Prêmios:
:
:
Re: Angulo para ponteiro.
em Qui 12 Jul 2012, 14:01
Considerando que o ponteiro esteja originalmente apontado para a direita, então, você precisa de algo assim:
12:00 seria 0, depois aumenta de 1 em 1.
Agora você só precisa aumentar em 1 a variável hora a cada 60*room_speed steps.
E claro, se for maior que 11, tire 12.
Até mais!
- Código:
var angle;
angle = 90 - hora * 30
while (angle < 0) angle += 360;
while (angle > 360) angle -= 360;
image_angle = angle;
12:00 seria 0, depois aumenta de 1 em 1.
Agora você só precisa aumentar em 1 a variável hora a cada 60*room_speed steps.
E claro, se for maior que 11, tire 12.
Até mais!
Leia o Manual do Iniciante e a Lista de Tutoriais, para aprender bastante sobre o GM.
Recomendo o Manual completo das colisões, bem útil.
O exemplo Criar um chat (banir, kickar, etc) é interessante.
Para seu jogo ficar rápido e legal, aprenda a Aumentar o desempenho do seu jogo.
Aprenda a calcular a velocidade de suas animações
Entre para o Clube do Inglês:
- Data de inscrição : 19/08/2010
Número de Mensagens : 1299
Insígnias de JAM :x 0
x 0
x 0
Reputação : 47
Prêmios: 1
: 0
: 0
Re: Angulo para ponteiro.
em Qui 12 Jul 2012, 14:18
Eu ja sei a formula de tempo.
Mas eu quero que o pontei de hora, "ande um pouquinho", proporcionalmente, ao ponteiro dos minutos
Olha ai como tá :
draw_sprite_ext(spr_ponteiro_hora,0,view_xview+600,view_yview+440,1,1,global.hora*-15,c_red,1)
draw_sprite_ext(spr_ponteiro_minuto,0,view_xview+600,view_yview+440,1,1,global.minutos*-6,c_aqua,1)
Mas eu quero que o pontei de hora, "ande um pouquinho", proporcionalmente, ao ponteiro dos minutos
Olha ai como tá :
draw_sprite_ext(spr_ponteiro_hora,0,view_xview+600,view_yview+440,1,1,global.hora*-15,c_red,1)
draw_sprite_ext(spr_ponteiro_minuto,0,view_xview+600,view_yview+440,1,1,global.minutos*-6,c_aqua,1)
- Data de inscrição : 29/05/2008
Número de Mensagens : 422
Insígnias de JAM :x 0
x 0
x 0
Reputação : 16
Prêmios: 0
: 0
: 0
Re: Angulo para ponteiro.
em Qui 12 Jul 2012, 14:34
Olha, o meu código faz exatamente isso que você parece querer, é só trocar no draw_sprite_ext de global.hora*-15 ou *-6 por image_angle
No meu código você pode ajustar que horas começa no create em "horaInicial" que continua tudo funcionando.
De quebra você ainda pode trocar room_restart por seja-lá-o-que-quer quando der os 24 minutos.
Se quiser testar pra ver como funciona no percurso de 1 minuto = 12 horas, troque o maximo de 12 para 1. Mas precisa ficar no 12 para funcionar feito um relógio de ponteiro (12 x 2 = 24, um dia)
PS: Editei meu código para funcionar mais do teu jeito e coloquei comentários!
No meu código você pode ajustar que horas começa no create em "horaInicial" que continua tudo funcionando.
De quebra você ainda pode trocar room_restart por seja-lá-o-que-quer quando der os 24 minutos.
Se quiser testar pra ver como funciona no percurso de 1 minuto = 12 horas, troque o maximo de 12 para 1. Mas precisa ficar no 12 para funcionar feito um relógio de ponteiro (12 x 2 = 24, um dia)
PS: Editei meu código para funcionar mais do teu jeito e coloquei comentários!
- Data de inscrição : 19/08/2010
Número de Mensagens : 1299
Insígnias de JAM :x 0
x 0
x 0
Reputação : 47
Prêmios: 1
: 0
: 0
Re: Angulo para ponteiro.
em Qui 12 Jul 2012, 18:43
Naum. O relógio que estou fazendo aparece 24 horas msm.
E está funcionando perfeitamente, fiz uma forma pra que não necessite de alarm, assim o tempo continua rodando pra sempre.
Eu só queria que o ponteiros de horas andasse devagarinho até chegar na próximo hora, proporcionalmente ao ponteiro dos minutos.
Na época de colégio , tinha uma fórmula pra isso, mas eu naum lembro.
Vou pesquisar um pouquinho
.
Pra quem quizer ajudar :
Olha os valore :
horas vai até 24
minutos vão até 60 .
E está funcionando perfeitamente, fiz uma forma pra que não necessite de alarm, assim o tempo continua rodando pra sempre.
Eu só queria que o ponteiros de horas andasse devagarinho até chegar na próximo hora, proporcionalmente ao ponteiro dos minutos.
Na época de colégio , tinha uma fórmula pra isso, mas eu naum lembro.
Vou pesquisar um pouquinho

Pra quem quizer ajudar :
Olha os valore :
horas vai até 24
minutos vão até 60 .
- Data de inscrição : 29/05/2008
Número de Mensagens : 422
Insígnias de JAM :x 0
x 0
x 0
Reputação : 16
Prêmios: 0
: 0
: 0
Re: Angulo para ponteiro.
em Sex 13 Jul 2012, 11:57
Troque "global.hora*-15" para "(global.hora*-15)+(global.minutos*-0.25)"
- Data de inscrição : 19/08/2010
Número de Mensagens : 1299
Insígnias de JAM :x 0
x 0
x 0
Reputação : 47
Prêmios: 1
: 0
: 0
Re: Angulo para ponteiro.
em Sex 13 Jul 2012, 12:40
Eu ja tinha feito, tá até resolvido.
Mas vou ver se serve, fiz de outra forma.
Mas vou ver se serve, fiz de outra forma.
- Data de inscrição : 29/05/2008
Número de Mensagens : 422
Insígnias de JAM :x 0
x 0
x 0
Reputação : 16
Prêmios: 0
: 0
: 0
Re: Angulo para ponteiro.
em Sex 13 Jul 2012, 12:43
É, foi mal, nem vi o ícone de Resolvido até bem depois de ter postado.
Caso você use, gostaria muito de saber se funcionou! =)
Caso você use, gostaria muito de saber se funcionou! =)
- Data de inscrição : 19/08/2010
Número de Mensagens : 1299
Insígnias de JAM :x 0
x 0
x 0
Reputação : 47
Prêmios: 1
: 0
: 0
Re: Angulo para ponteiro.
em Sex 13 Jul 2012, 13:56
Opa ! Funcionou sim Kinking ! perfeitamente
.

Permissão deste fórum:
Você não pode responder aos tópicos neste fórum