Entrar
Últimos assuntos
» Retorno da GMBR!!!por theguitarmester Ter 19 Mar 2024, 22:38
» Procuro Programador de game maker
por Wou Sex 15 Mar 2024, 10:27
» Mod APK
por gamerainha Qua 13 Mar 2024, 06:30
» Mudar cor de apenas uma palavra
por lunalol Sex 01 Mar 2024, 13:42
» 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
» Servidor de Discord do fórum?
por Lighter Sáb 27 Jan 2024, 17:18
» 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
» Devlogs em vídeos do Block Room
por Joton Seg 15 Jan 2024, 16:56
» Alguém aqui já ganha dinheiro com seus games?
por Joton Seg 15 Jan 2024, 16:49
» ACERVO GMBR MAGAZINE
por Joton Qui 11 Jan 2024, 19:21
» como aumentar o obj sem aumentar a colisão??
por GabrielXavier Qua 10 Jan 2024, 07:21
» Asteroid Core - Early Acesse Update [0.2.0.0]
por JOZ. Seg 08 Jan 2024, 14:39
» Versionamento de código com GitHub
por GabrielXavier Seg 08 Jan 2024, 07:32
» Rio Rise - novo launcher do Gta San Andreas SAMP Brasil
por kolesovsup Sex 29 Dez 2023, 07:16
» a funçao approach ainda existe?
por PEDRINDEV Ter 26 Dez 2023, 20:05
» Inimigo ataca até por trás! >:(
por saim Sex 22 Dez 2023, 08:55
» [RESOLVIDO]Spawn após morte
por Deception_1999 Dom 17 Dez 2023, 16:39
» Remunerado $$$ - Procuro programador para ajudar a "montar" um jogo
por theguitarmester Sáb 02 Dez 2023, 16:28
» Game maker nao abre
por Cerf Dom 26 Nov 2023, 12:01
[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
|
|