Entrar
Últimos assuntos
» Servidor de Discord do fórum?por Super Games Hoje à(s) 01:27
» Problemas com a caixa de diálogo, ela é pequena e as letras não cabem dentro
por Rukasu777 Qui 16 maio 2024, 18:10
» Problemas com particulas
por RastaMaan Dom 12 maio 2024, 17:03
» Problema ao entrar por uma porta e voltar por ela
por aminaro Seg 06 maio 2024, 10:08
» Alguém aqui já ganha dinheiro com seus games?
por theguitarmester Ter 30 Abr 2024, 11:43
» Colisões não funcionando
por theguitarmester Ter 30 Abr 2024, 10:16
» Como ajustar velocidade de cada frame da animação no game maker
por pequetux Sex 26 Abr 2024, 16:45
» Preciso de ajuda
por AftonDuGrau Dom 21 Abr 2024, 20:18
» Como faz o evento drawn GUI, não se repetir?
por aminaro Sex 19 Abr 2024, 20:30
» PROBLEMAS COM FÍSICAS DE ÁGUA
por aminaro Ter 16 Abr 2024, 10:07
» Retorno da GMBR!!!
por Ralphed Sex 12 Abr 2024, 22:45
» JOGADOR PARANDO NO AR QUANDO ATACA
por aminaro Qua 10 Abr 2024, 13:51
» Problemas com texto interativo
por Kaaru72 Dom 07 Abr 2024, 11:31
» Erro escondido e indecifrável
por dev_gabize.azv Qui 04 Abr 2024, 10:11
» Mudar cor de apenas uma palavra
por Ralphed Sáb 30 Mar 2024, 00:39
» Procuro Programador de game maker
por Wou Sex 15 Mar 2024, 10:27
» Mod APK
por gamerainha Qua 13 Mar 2024, 06:30
» Aceito pedidos de sprites (Com exemplos meus)
por Sevilha Qua 28 Fev 2024, 12:17
» Inventário simples
por Isquilo_Roedor Qui 22 Fev 2024, 15:18
» Problemas na programaçnao de inimigo [jogo DOOM LIKE]
por Black Mirror Dom 11 Fev 2024, 13:34
» ANDROID MULTI TOUCH
por DiegoBr Dom 04 Fev 2024, 12:13
» Save e Load Json
por Klinton Rodrigues Qui 25 Jan 2024, 11:12
» Colisão com mais de um objeto
por aminaro Seg 22 Jan 2024, 15:02
» Oi sou novo aqui
por Thiago Silveira Alexandre Sáb 20 Jan 2024, 20:55
» Como acessar conteudo comprado no marketplace
por macmilam Sex 19 Jan 2024, 07:42
[Física] Gravidade
3 participantes
Página 1 de 1
[Física] Gravidade
Olá pessoal!
Eu estou migrando para um novo ambiente de desenvolvimento, é eu estou tentando aprender a criar jogos no Flash por vários motivos... Mas eu quero tratar de um assunto especial neste tópico com vocês a Gravidade.
Bom todos nós sabemos que no Game Maker usa-se de uma variavel chamada gravity que nós atribuimos valores a ela de acordo com a gravidade que desejamos. Mas e se eu não estou a desenvolver em Game Maker eu não tenho essa variavel, portanto devo criar meu próprio sistema de gravidade correto?
Então, como eu sei que várias pessoas aqui já criaram jogos em C/C++ e até em outras linguagens, gostaria de saber como funciona a gravidade, se existe algum site que possa estar explicando detalhadamente como faço para colocar um sistema desses nos meus jogos. Bom apenas o principio já vale, porque dai eu uso de um jeito pra adaptar no Flash.
Abraços...
Meokor
Eu estou migrando para um novo ambiente de desenvolvimento, é eu estou tentando aprender a criar jogos no Flash por vários motivos... Mas eu quero tratar de um assunto especial neste tópico com vocês a Gravidade.
Bom todos nós sabemos que no Game Maker usa-se de uma variavel chamada gravity que nós atribuimos valores a ela de acordo com a gravidade que desejamos. Mas e se eu não estou a desenvolver em Game Maker eu não tenho essa variavel, portanto devo criar meu próprio sistema de gravidade correto?
Então, como eu sei que várias pessoas aqui já criaram jogos em C/C++ e até em outras linguagens, gostaria de saber como funciona a gravidade, se existe algum site que possa estar explicando detalhadamente como faço para colocar um sistema desses nos meus jogos. Bom apenas o principio já vale, porque dai eu uso de um jeito pra adaptar no Flash.
Abraços...
Meokor
Re: [Física] Gravidade
cara gravidade para essas linguagens deve ser fácil de fazer.
tente fazer um numero que sempre vá diminuir exemplo:
create:
grv = 0.25
step:
se não estiver colidindo com o objeto chao
{
y = y - grv
}
o personagem sempre irá para baixo, a posição de Y sempre será Y = Y - 0.25 diminuindo a posição de y dando uma impressão de gravidade
tente fazer um numero que sempre vá diminuir exemplo:
create:
grv = 0.25
step:
se não estiver colidindo com o objeto chao
{
y = y - grv
}
o personagem sempre irá para baixo, a posição de Y sempre será Y = Y - 0.25 diminuindo a posição de y dando uma impressão de gravidade
itallo- Games Ranking :
Notas recebidas : B - D
Data de inscrição : 26/08/2009
Reputação : 12
Número de Mensagens : 970
Prêmios :
x 0 x 0 x 0
x 1 x 0 x 0
x 0 x 0 x 0
Re: [Física] Gravidade
Em outras linguagens voce pode simular isso com seno e cosseno. A gravidade tem uma ACELERACAO por isso não adiante somente "somar" no y voce tem que "acumular" a soma para dar o efeito correto.
Por exemplo:
Codigo de inicializacao da sua linguagem:
Exemplo para C/C++/Java
gravidade_direcao = (PI / 2) * 3; //270 graus em Radianos
gravidade_forca=1;
forca_vertical = 0;
forca_horizontal = 0;
Agora no codigo que vai "adicionar" a gravidade a cada passada do loop:
if (gravidade_forca != 0)
{
forca_x = forca_x + cos(gravidade_direcao) * gravidade_forca;
forca_y = forca_y + sin(gravidade_direcao) * gravidade_forca;
}
y = y + forca_y;
x = x + forca_x;
Assiim quando voce nao quizer mais a gravidade, na colisao por exemplo, basta comandar:
Por exemplo:
Codigo de inicializacao da sua linguagem:
Exemplo para C/C++/Java
gravidade_direcao = (PI / 2) * 3; //270 graus em Radianos
gravidade_forca=1;
forca_vertical = 0;
forca_horizontal = 0;
Agora no codigo que vai "adicionar" a gravidade a cada passada do loop:
if (gravidade_forca != 0)
{
forca_x = forca_x + cos(gravidade_direcao) * gravidade_forca;
forca_y = forca_y + sin(gravidade_direcao) * gravidade_forca;
}
y = y + forca_y;
x = x + forca_x;
Assiim quando voce nao quizer mais a gravidade, na colisao por exemplo, basta comandar:
- Código:
gravidade_forca = 0;
Re: [Física] Gravidade
vinians escreveu:Em outras linguagens voce pode simular isso com seno e cosseno. A gravidade tem uma ACELERACAO por isso não adiante somente "somar" no y voce tem que "acumular" a soma para dar o efeito correto.
Por exemplo:
Codigo de inicializacao da sua linguagem:
Exemplo para C/C++/Java
gravidade_direcao = (PI / 2) * 3; //270 graus em Radianos
gravidade_forca=1;
forca_vertical = 0;
forca_horizontal = 0;
Agora no codigo que vai "adicionar" a gravidade a cada passada do loop:
if (gravidade_forca != 0)
{
forca_x = forca_x + cos(gravidade_direcao) * gravidade_forca;
forca_y = forca_y + sin(gravidade_direcao) * gravidade_forca;
}
y = y + forca_y;
x = x + forca_x;
Assiim quando voce nao quizer mais a gravidade, na colisao por exemplo, basta comandar:
- Código:
gravidade_forca = 0;
Legal era isso mesmo. Vou fazer alguns testes assim que chegar do serviço. Ah, eu não entendi muito a respeito de "acumular" a soma, porque no fim você acabou somando do mesmo jeito .
Eu andei pesquisando alguns exemplos na internet e achei outras formas de fazer que envolvia até o raio da bolinha ( link ). Isso é desnecessário?
Valeu ai pela ajuda amigão!
Abraços...
Re: [Física] Gravidade
Meokor escreveu:
Legal era isso mesmo. Vou fazer alguns testes assim que chegar do serviço. Ah, eu não entendi muito a respeito de "acumular" a soma, porque no fim você acabou somando do mesmo jeito .
Não é o mesmo não. Se voce verificar atentamente, a cada "passo" a variavel forca_y vai "aumentando" seu valor, e depois esse valor "acumulado" é somado a variavel y. Isso é pra dar o efeito de aceleração.
Re: [Física] Gravidade
Ah sim! Agora entendi...
Obrigado novamente, assim que tiver algo pronto eu posto pra vcs verem!
[]'s
Obrigado novamente, assim que tiver algo pronto eu posto pra vcs verem!
[]'s
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos
|
|