Script-fazendo gravidade sem usar gravity

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

Script-fazendo gravidade sem usar gravity

Mensagem por The Wizard em Sex 20 Ago 2010, 20:07

é muito simples fazer gravidade sem usar gravity é só botar no step
Código:
if place_free(x,y+1) {vspeed+=0.5}
else
{vspeed=0}
é um jeito de substituir gravity por vspeed,não é muito útil esse método de gravity mas tudo bem :C:


Última edição por Guga games em Sex 20 Ago 2010, 21:31, editado 1 vez(es)

The Wizard

Ranking : Nota B
Número de Mensagens : 1129
Idade : 18
Data de inscrição : 24/03/2010
Notas recebidas : B
Reputação : 17
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 1

http://awesomewizards.deviantart.com/

Voltar ao Topo Ir em baixo

Re: Script-fazendo gravidade sem usar gravity

Mensagem por Fuzenrad em Sex 20 Ago 2010, 20:29

Não, pelo contrário, é bastante parecido, é um substitutivo muito simples para a função gravity do Game Maker. Mas o código contém um pequeno erro, quase que imperceptível. No caso ele se moverá em uma velocidade de 0.5 (o que é muito baixo) demoraria uma eternidade se a altura for relativamente grande, a correção seria:

if place_free(x,y+1) { vspeed+=0.5 }
else {vspeed=0}

Lembrando que += é diferente de =+, na primeira é somado ao valor da variável +0.5, na segunda o valor 0.5 é constante.

(Editado)
Opa, o Henrique apagou o post e ficou meio confuso, ele havia dito que a função não seria parecida com gravidade por ser constante.


Última edição por Fuzenrad em Sex 20 Ago 2010, 20:32, editado 1 vez(es)

Fuzenrad

Ranking : Nota A
Número de Mensagens : 1026
Idade : 26
Data de inscrição : 04/07/2010
Notas recebidas : A-A-A-A-B
Reputação : 41
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 1

Voltar ao Topo Ir em baixo

Re: Script-fazendo gravidade sem usar gravity

Mensagem por Henrique-HB em Sex 20 Ago 2010, 20:31

Fuzenrad, eu apaguei pq tinha lido o post errado, depois percebi que iria somando no valor Smile

Desculpa Razz

Henrique-HB

Número de Mensagens : 114
Data de inscrição : 23/06/2008
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

Re: Script-fazendo gravidade sem usar gravity

Mensagem por Fuzenrad em Sex 20 Ago 2010, 20:34

Não foi nada, as vezes acontece mesmo.

Fuzenrad

Ranking : Nota A
Número de Mensagens : 1026
Idade : 26
Data de inscrição : 04/07/2010
Notas recebidas : A-A-A-A-B
Reputação : 41
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 1

Voltar ao Topo Ir em baixo

Re: Script-fazendo gravidade sem usar gravity

Mensagem por fonetico em Sex 20 Ago 2010, 20:36

Se não se incomoda, vou mover este tópico para a seção de scripts, porque ele está mais para script do que para tutorial

Tópico movido!

fonetico

Número de Mensagens : 1830
Idade : 21
Data de inscrição : 05/10/2009
Reputação : 7
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: Script-fazendo gravidade sem usar gravity

Mensagem por The Wizard em Sex 20 Ago 2010, 21:33

é mesmo e já editei =+ para +=

The Wizard

Ranking : Nota B
Número de Mensagens : 1129
Idade : 18
Data de inscrição : 24/03/2010
Notas recebidas : B
Reputação : 17
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 1

http://awesomewizards.deviantart.com/

Voltar ao Topo Ir em baixo

Re: Script-fazendo gravidade sem usar gravity

Mensagem por Kabeção em Sab 21 Ago 2010, 00:24

Mas e se o movimento for de forma orbital como no Mario Galaxy?
E se o programador precisasse mudar a direção da gravidade?
E se no jogo, um planeta precisa puxar um asteroide com sua força de gravidade, considerando que ele estivesse exatamente em cima do planeta a 90º daria certo mas se fosse em ângulos diferentes?

Bom, as três perguntas são basicamente a mesma coisa: e quanto a direção da gravidade?
Não pode se esquecer disso. nuu

Kabeção

Ranking : Sem avaliações
Número de Mensagens : 2314
Data de inscrição : 08/06/2008
Reputação : 100
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 3
   : 0
   : 1

http://blackcapapps.blogspot.com.br/

Voltar ao Topo Ir em baixo

Re: Script-fazendo gravidade sem usar gravity

Mensagem por [B]runO~ em Sab 21 Ago 2010, 14:15

Mas e se o movimento for de forma orbital como no Mario Galaxy?
E se o programador precisasse mudar a direção da gravidade?

Você teria que fazer cálculos baseados em Seno/Cosseno,e mudar o HSpeed e o Vspeed,claro que seria muito complicado,teria que se fazer funções , se não seria muito código desperdiçado..

@Topic
Legal você postar isso porque o gm tem tantas possibilidades,vlw !

[B]runO~

Número de Mensagens : 4
Data de inscrição : 09/08/2010
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Script-fazendo gravidade sem usar gravity

Mensagem por Kabeção em Sab 21 Ago 2010, 15:08

É, mas gravidade não é velocidade vertical.
Se fosse assim todo mundo que mora no sul e nos lados do planeta cairiam para o espaço.
Foi uma critica meio que na brincadeira mas não dá para subir gravidade apenas com velocidade vertical.

Também não seria difícil usar trigonometria para calcular vspeed e hspeed.
Código:
hspeed += cos(degtorad(angulo))*velocidade;
vspeed += -sin(degtorad(angulo))*velocidade;

É só um toque. xD
É por isso que existe gravity e v_speed.

Kabeção

Ranking : Sem avaliações
Número de Mensagens : 2314
Data de inscrição : 08/06/2008
Reputação : 100
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 3
   : 0
   : 1

http://blackcapapps.blogspot.com.br/

Voltar ao Topo Ir em baixo

Re: Script-fazendo gravidade sem usar gravity

Mensagem por [B]runO~ em Sab 21 Ago 2010, 15:40

Se for um jogo baseado numa engine de plataforma o vspeed faz parte sim da "gravidade"

E o gravity e o vspeed trabalham em conjunto.. não trabalham ?

EDIT :

Eu disse isso para Jogos 2D desculpa o mal intendido ahuha..

[B]runO~

Número de Mensagens : 4
Data de inscrição : 09/08/2010
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Script-fazendo gravidade sem usar gravity

Mensagem por DS Santos em Sab 21 Ago 2010, 17:59

É que gravidade é força de atração, velocidade vertical é... velocidade vertical!

Tipo, mesmo com a ajuda da maça o Newton teve uma trabalheira para estudar a gravidade e como forma de respeito a seu esforço temos que aplicar seu conceito de maneira certa. Acho que foi isso que o Kabeção quis dizer. Very Happy

Eu disse isso para Jogos 2D desculpa o mal intendido ahuha..
Como assim?
Atualmente tem se tornado bem comum os jogos 2D ao estilo Mario Gravity no site da yoyogames. Parece que esse estilo de jogo ganhou bastante popularidade. Tipo esse aqui: http://www.yoyogames.com/games/121810-they-need-to-be-fed
Não é um bom exemplo da diferença entre atração e velocidade vertical? :]

DS Santos

Número de Mensagens : 98
Data de inscrição : 19/05/2010
Reputação : 2
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Script-fazendo gravidade sem usar gravity

Mensagem por [B]runO~ em Dom 22 Ago 2010, 00:17

O Gravity muda o Vspeed,baseado em cálculos,nada mais é do que o "Simulador" de gravidade,qua através do Vspeed transfere isso pro objeto..

Só não vou poder ver seu exemplo agora pq to de saída mas dps eu vejo ,vlw !

Flw abrass

[B]runO~

Número de Mensagens : 4
Data de inscrição : 09/08/2010
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Script-fazendo gravidade sem usar gravity

Mensagem por PedroX em Dom 22 Ago 2010, 07:54

Kabeção escreveu:vspeed += -sin(degtorad(angulo))*velocidade;

o certo nao seria:
vspeed += +sin(degtorad(angulo))*velocidade;

em vez de negativo é positivo, se nao a velocidade sera negativa...
Pedro Henrique


PedroX

Ranking : Nota C
Número de Mensagens : 6034
Idade : 21
Data de inscrição : 26/07/2008
Notas recebidas : C+B
Reputação : 286
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: Script-fazendo gravidade sem usar gravity

Mensagem por Kabeção em Dom 22 Ago 2010, 14:45

DS Santos escreveu:É que gravidade é força de atração, velocidade vertical é... velocidade vertical!

Tipo, mesmo com a ajuda da maça o Newton teve uma trabalheira para estudar a gravidade e como forma de respeito a seu esforço temos que aplicar seu conceito de maneira certa. Acho que foi isso que o Kabeção quis dizer. Very Happy

Eu disse isso para Jogos 2D desculpa o mal intendido ahuha..
Como assim?
Atualmente tem se tornado bem comum os jogos 2D ao estilo Mario Gravity no site da yoyogames. Parece que esse estilo de jogo ganhou bastante popularidade. Tipo esse aqui: http://www.yoyogames.com/games/121810-they-need-to-be-fed
Não é um bom exemplo da diferença entre atração e velocidade vertical? :]
É isso mesmo. Happy
Pedro Henrique escreveu:
Kabeção escreveu:vspeed += -sin(degtorad(angulo))*velocidade;

o certo nao seria:
vspeed += +sin(degtorad(angulo))*velocidade;

em vez de negativo é positivo, se nao a velocidade sera negativa...
Pedro Henrique

Esta certo sim, o angulo normal da gravidade em um jogo é 270° e não 90° (90 faria ele subir, realmente) e como o plano cartesiano na programação o y é invertido a velocidade deve ser negativa.

Kabeção

Ranking : Sem avaliações
Número de Mensagens : 2314
Data de inscrição : 08/06/2008
Reputação : 100
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 3
   : 0
   : 1

http://blackcapapps.blogspot.com.br/

Voltar ao Topo Ir em baixo

Re: Script-fazendo gravidade sem usar gravity

Mensagem por [B]runO~ em Dom 22 Ago 2010, 16:15

Agora deu pra ver o jogo que me mandaram,como eu disse pra jogos 2D,nada que não de pra fazer com o HSpeed e o VSpeed,e como eu disse denovo,eles não representam a gravidade,vocês tão me entendendo errado...
Mas quanto mais gravidade sobre um objeto,maior a velocidade dele ( Baseado na Distância etc etc.. ) se baseando nisso dá sim pra fazer um simulador de gravidade,e se baseado em sin e cos da pra fazer a direção,as curvas nescessárias e etc,que dá , dá...

[B]runO~

Número de Mensagens : 4
Data de inscrição : 09/08/2010
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Script-fazendo gravidade sem usar gravity

Mensagem por Conteúdo patrocinado Hoje à(s) 09:55


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