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

Nenhum

Ver toda a lista


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

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

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

Ganhar Pontuação ao minuto

em Qua 21 Mar 2012, 14:43
Boa Tarde,

Antes de mais , meus parabéns por este fórum, desde que me registei já me ajudou bastante.

Eu comecei fazer um jogo, em que já consegui por um relógio em tempo real, mas agora eu queria saber como poderei fazer ao adicionar um object ou ao clicar nesse mesmo object, o mesmo começar ganhar uma determinada pontuação.

(Exemplo : em 1 minuto baseado no relógio em tempo real, esse object ganhar 100 pontos ou créditos).

Pois isto seria uma peça importante para meu jogo, em que irá ser um jogo de browser.

Obrigado! Very Happy
avatar
Data de inscrição : 19/08/2010
Número de Mensagens : 1299
Insígnias de JAM :

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

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

Re: Ganhar Pontuação ao minuto

em Qua 21 Mar 2012, 14:48
bem pode ser feito assim:
no obj_x (oque será clicado ou criado)
se ele for criado poem no create:
Código:

alarm[0]=30*60
(30 = 1 segundos em steps entaum 30 vezes 60 = a 1 minuto)
Código:

e no alarm[0]:
pontos+=100
alarm[0]=30*60

e se for no que vai ser clikado coloka no evento left button pressed:
alarm[0]=30*60

e no alarm[0] coloka igual ao outro exemplo

Espero que sirva flw
avatar
Data de inscrição : 21/03/2012
Número de Mensagens : 3
Insígnias de JAM :

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

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

Re: Ganhar Pontuação ao minuto

em Qua 21 Mar 2012, 17:04
FlyAway serviu perfeitamente, so que, so me dá 100 pontos no 1º min, eu queria que continuasse a dar pontos minuto a minuto.

" Exprimentei adicionar um (Event/Step) colocando entao o codigo :

score+=100
alarm[0]=30*60

funcionou, mas me dando pontos do continuamente"

O que pretendia neste caso era continuando a dar-me pontos minuto a minuto em que nesta experiencia nao fez o resultado que pretendia.

Se me poderes ajudar mais uma vez agradecia..

Obrigado!
avatar
Data de inscrição : 19/08/2010
Número de Mensagens : 1299
Insígnias de JAM :

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

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

Re: Ganhar Pontuação ao minuto

em Qua 21 Mar 2012, 17:07
faz assim :
no create faz oque eu disse e no alarm[0] põe alarm[0]=30*60 ai vai ficar pra sempre .

Flw
avatar
Data de inscrição : 21/10/2009
Número de Mensagens : 645
Insígnias de JAM :

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

Prêmios
   : 1
   : 0
   : 0
Ver perfil do usuáriohttp://shatterhand.beatthegame.net

Re: Ganhar Pontuação ao minuto

em Qua 21 Mar 2012, 17:14
30 * 60 = 3600. Se for pra por um valor constante, é melhor por o valor direto ao invés de fazer o processador gastar seus preciosos ciclos com cálculos desnecessários.

na verdade você quer fazer alarm[0] = 60*room_speed . Considerando que room_speed é a "velocidade" de frames por segundo que são executados na room, você garante que o tempo esperado será sempre 1 segundo, independente da velocidade que esteja setada na room.
avatar
Data de inscrição : 19/08/2010
Número de Mensagens : 1299
Insígnias de JAM :

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

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

Re: Ganhar Pontuação ao minuto

em Qua 21 Mar 2012, 17:20
^Ta errado 30*60=1800 . Tanto faz é um calculo mto simples .
avatar
Data de inscrição : 21/10/2009
Número de Mensagens : 645
Insígnias de JAM :

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

Prêmios
   : 1
   : 0
   : 0
Ver perfil do usuáriohttp://shatterhand.beatthegame.net

Re: Ganhar Pontuação ao minuto

em Qua 21 Mar 2012, 17:25
hahaha.
exato, 1800, você tem razão. eu fiz 60*60, pq to acostumado a usar room_speed de 60, e não de 30.

De qualquer forma, por mais que seja muito simples, sempre que puder evitar um cálculo no seu código, evite. Isso pode ser a diferença entre um frame perdido ou não durante o desenho do jogo.

avatar
Data de inscrição : 19/08/2010
Número de Mensagens : 1299
Insígnias de JAM :

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

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

Re: Ganhar Pontuação ao minuto

em Qua 21 Mar 2012, 17:30
Ainda não vejo nescessidade mas é bom sim mas n vejo ja q vai ser a cada minuto e é um calculo simples entre numeros constantes Happy

BLZ Resolveu ?
avatar
Data de inscrição : 21/10/2009
Número de Mensagens : 645
Insígnias de JAM :

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

Prêmios
   : 1
   : 0
   : 0
Ver perfil do usuáriohttp://shatterhand.beatthegame.net

Re: Ganhar Pontuação ao minuto

em Qua 21 Mar 2012, 17:41
Eu acho que já tava resolvido antes, a questão aqui ficou mais profunda Smile

É óbvio que se você está programando algo extremamente simples, voltado para rodar num processador mega-poderoso, não vai fazer tanta diferença fazer um cálculo que acontece a cada minuto do seu processamento ou simplesmente tacar o resultado do cálculo direto.

Mas se você é programador de verdade, se você pensa em programar de forma séria, você evita cálculos desnecessários, reutiliza variáveis, evita usar variáveis a toa, utiliza recursividade de forma inteligente...

Aliás, eu prevejo muita gente que tá acostumada a programar de qualquer jeito levando porrada quando for migrar pro Game Maker Studio, que "entrega" os executáveis para uma pá de dispositivos com poder de processamento muito mais modesto que a maioria dos computadores de mesa (e *muito menos* memória), se perguntando "Poxa, pq meu jogo roda tão lento nesse celular?".

Aquele 30*60 era totalmente desnecessário. Você estava fazendo 60 segundos * 30 frames por segundo. Se a ideia é usar a room_speed como base para calcular 1 minuto, usa a variável que guarda esse valor (E ai sim o cálculo é justificável). Fazer uma operação matemática entre duas constantes que nem estão armazenadas em variáveis nenhuma é desperdício de processamento.

Se você não quer usar boas práticas de programação, tudo bem, é uma opção sua, mas acho legal falar sobre isso com as pessoas. É "cacoete" de professor de programação Very Happy

Edit: Desculpa se pareceu chato, não era a intenção. Era mais um "toque" pra melhorar a sua programação. Eu às vezes ajo como se todo mundo fosse meu aluno, o que tenho que aprender que não é o caso Very Happy. Eu fico sempre preocupado pq meus alunos serão avaliados pelo mercado de trabalho, então eles precisam saber programar bem e bonitinho, não importa em que linguagem seja Very Happy
avatar
Data de inscrição : 21/03/2012
Número de Mensagens : 3
Insígnias de JAM :

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

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

Re: Ganhar Pontuação ao minuto

em Qua 21 Mar 2012, 18:31

Na verdade, eu sou muito novo em programação, o unico intuito de eu agora querer aprender e obter um conhecimento mais a fundo na programação, é pelo facto de poder com o tempo, criar um jogo.
Me fascinou a muito pouco tempo saber que afinal é possivel criar um jogo meu, pois desconhecia o Game Maker.

E o facto de ter posto aqui esta questão, foi simplesmente porque andei quase uma semana tentar saber por mim só como fazer no GM.
Sei que estou a tentar dar um paço maior que a perna, porque so agora estou a aprender programar e tenho ainda muito tuturial para ler, mas com este fascinio todo la chegarei, ate porque a medida que vou aprendendo mais me entusiasmo Very Happy


Um obrigado a todos, resultou perfeitamente!!!
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