Entrar
Últimos assuntos
» Como ajustar velocidade de cada frame da animação no game makerpor pequetux Hoje à(s) 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
» 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
[Tuto p/ Iniciante] Usando Direction no Game Maker
+3
Thyago
fredcobain
dharrison
7 participantes
GMBR :: Ensine & Aprenda :: Tutoriais :: Game Maker
Página 1 de 1
[Tuto p/ Iniciante] Usando Direction no Game Maker
Título: Usando Directions no Game Maker
Versão do GM: Qualquer
Dificuldade: Fácil
Link para download da Engine: Não tem engine, mas tem uma demonstração prática que pode ser usada como consulta.
Requer Extensões: Não.
Requer DLLs: Não.
Tags: direction, mover, direções, gml.
Eai galera tudo blz?
Venho trazer hoje um tutorial super básico, mas que eu criei pois senti dúvidas na hora de utilizar a variável direction.
Existem diversas variáveis e funções que dependem da variável direction no Game Maker, que é a variável que aponta a direção em graus na qual um objeto se movimenta.
Tudo é basicamente um conceito, então sejamos práticos. Abaixo você poderá visualizar algumas imagens que indicam as direções.
(censurei a bunda feia do personagem )
Os números informados na imagem acima são as direções em graus da forma que o GM utiliza. Ou seja, começando pela Direita 0° e seguindo em sentido anti-horário até chegar em (quase) Direita 359°.
360° não existe pois 360° e 0° são a mesma coisa.
Um exemplo de como usar essa variável é definir o movimento do char da seguinte forma:
Dentro do Event KEYBOARD RIGHT:
Dentro do Event KEYBOARD UP:
Dentro do Event KEYBOARD LEFT:
Dentro do Event KEYBOARD DOWN:
O bom de ser usar direction é que a movimentação não fica limitada a 4 ou 8 direções.
Bom pessoal acho que é isso, um tuto bem breve explicativo sobre direction para você não se confundir como eu.
A demonstração pode ser usar usada para consultar uma das 8 direções mais usadas, assim como esse tópico.
Grande Abraço a todos
Versão do GM: Qualquer
Dificuldade: Fácil
Link para download da Engine: Não tem engine, mas tem uma demonstração prática que pode ser usada como consulta.
Requer Extensões: Não.
Requer DLLs: Não.
Tags: direction, mover, direções, gml.
Eai galera tudo blz?
Venho trazer hoje um tutorial super básico, mas que eu criei pois senti dúvidas na hora de utilizar a variável direction.
Existem diversas variáveis e funções que dependem da variável direction no Game Maker, que é a variável que aponta a direção em graus na qual um objeto se movimenta.
Tudo é basicamente um conceito, então sejamos práticos. Abaixo você poderá visualizar algumas imagens que indicam as direções.
(censurei a bunda feia do personagem )
Os números informados na imagem acima são as direções em graus da forma que o GM utiliza. Ou seja, começando pela Direita 0° e seguindo em sentido anti-horário até chegar em (quase) Direita 359°.
360° não existe pois 360° e 0° são a mesma coisa.
Um exemplo de como usar essa variável é definir o movimento do char da seguinte forma:
Dentro do Event KEYBOARD RIGHT:
- Código:
//Direita
{direction=0;speed=4}
Dentro do Event KEYBOARD UP:
- Código:
//Cima
{direction=90;speed=4}
Dentro do Event KEYBOARD LEFT:
- Código:
//Esquerda
{direction=180;speed=4}
Dentro do Event KEYBOARD DOWN:
- Código:
//Baixo
{direction=270;speed=4}
O bom de ser usar direction é que a movimentação não fica limitada a 4 ou 8 direções.
Bom pessoal acho que é isso, um tuto bem breve explicativo sobre direction para você não se confundir como eu.
A demonstração pode ser usar usada para consultar uma das 8 direções mais usadas, assim como esse tópico.
Grande Abraço a todos
Última edição por dharrison em Sáb 19 Abr 2014, 23:11, editado 1 vez(es)
dharrison- Games Ranking :
Notas recebidas : A - B
Data de inscrição : 04/02/2009
Reputação : 120
Número de Mensagens : 1363
Prêmios :
x 0 x 9 x 0
x 0 x 1 x 0
x 0 x 0 x 1
Plataformas :- Game Maker 8.0 ou 8.1
- Game Maker Studio 2.0
- C#
Re: [Tuto p/ Iniciante] Usando Direction no Game Maker
Simples, bem escrito e efetivo.
Direto ao ponto.
Aprovadíssimo.
Parabéns e obrigado por contribuir.
=)
Direto ao ponto.
Aprovadíssimo.
Parabéns e obrigado por contribuir.
=)
fredcobain- Games Ranking :
Data de inscrição : 14/04/2011
Reputação : 163
Número de Mensagens : 692
Prêmios :
x 0 x 3 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: [Tuto p/ Iniciante] Usando Direction no Game Maker
.Bom para iniciantes,apesar de preferir colocar tudo em step,o engraçado é a tarja preta no desenho kkkkkk.
.Mas você fez um exemplo no desenho com 8 e apenas 4 nos código.
.Mas você fez um exemplo no desenho com 8 e apenas 4 nos código.
Thyago- Games Ranking :
Notas recebidas : D+B+B+C+A
Data de inscrição : 24/08/2009
Reputação : 31
Número de Mensagens : 1101
Prêmios :
x 0 x 0 x 0
x 1 x 1 x 0
x 0 x 0 x 0
Re: [Tuto p/ Iniciante] Usando Direction no Game Maker
Só duas coisa Haris, dá pra trocar os speed por:
Aí você terá uma flexibilidade gigante sobre o código e colisões!
E você em vez de direction colocou diretion!
- Código:
x += cos(direction*pi/180) * 4;
y -= sin(direction*pi/180) * 4;
Aí você terá uma flexibilidade gigante sobre o código e colisões!
E você em vez de direction colocou diretion!
Gabreel- Data de inscrição : 02/10/2009
Reputação : 52
Número de Mensagens : 2232
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Plataformas :- Game Maker 8.0 ou 8.1
- Game Maker Studio 1.4
- Game Maker Studio 2.0
- Javascript
- Outros
Re: [Tuto p/ Iniciante] Usando Direction no Game Maker
Gabreel escreveu:Só duas coisa Haris, dá pra trocar os speed por:
- Código:
x += cos(direction*pi/180) * 4;
y -= sin(direction*pi/180) * 4;
Aí você terá uma flexibilidade gigante sobre o código e colisões!
E você em vez de direction colocou diretion!
Vlw Gabreel, corrigi o erro
Mas explica melhor como funciona isso ae, fasfavortio
dharrison- Games Ranking :
Notas recebidas : A - B
Data de inscrição : 04/02/2009
Reputação : 120
Número de Mensagens : 1363
Prêmios :
x 0 x 9 x 0
x 0 x 1 x 0
x 0 x 0 x 1
Plataformas :- Game Maker 8.0 ou 8.1
- Game Maker Studio 2.0
- C#
Re: [Tuto p/ Iniciante] Usando Direction no Game Maker
.Nesse caso o 4 representa a velocidade,como é para iniciantes talves usar cos e sin seja um pouco mais complicado e acho pior para checar a velocidade.Gabreel escreveu:Só duas coisa Haris, dá pra trocar os speed por:
- Código:
x += cos(direction*pi/180) * 4;
y -= sin(direction*pi/180) * 4;
Aí você terá uma flexibilidade gigante sobre o código e colisões!
E você em vez de direction colocou diretion!
- Código:
x += cos(direction*pi/180) *4 = x+=lengthdir_x(4,direction)
Thyago- Games Ranking :
Notas recebidas : D+B+B+C+A
Data de inscrição : 24/08/2009
Reputação : 31
Número de Mensagens : 1101
Prêmios :
x 0 x 0 x 0
x 1 x 1 x 0
x 0 x 0 x 0
Re: [Tuto p/ Iniciante] Usando Direction no Game Maker
Acho que trigonometria é meio que obrigatoriedade na nossa área, e não algo de iniciante de usuários avançados, de qualquer forma, sua dica também é boa.
Gabreel- Data de inscrição : 02/10/2009
Reputação : 52
Número de Mensagens : 2232
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Plataformas :- Game Maker 8.0 ou 8.1
- Game Maker Studio 1.4
- Game Maker Studio 2.0
- Javascript
- Outros
Re: [Tuto p/ Iniciante] Usando Direction no Game Maker
.O engraça é que quando comecei no game maker e conhecia poucas funções criava tudo na matematica.
point_distance,lengthdir entre outros não usava nada disso
point_distance,lengthdir entre outros não usava nada disso
Thyago- Games Ranking :
Notas recebidas : D+B+B+C+A
Data de inscrição : 24/08/2009
Reputação : 31
Número de Mensagens : 1101
Prêmios :
x 0 x 0 x 0
x 1 x 1 x 0
x 0 x 0 x 0
Re: [Tuto p/ Iniciante] Usando Direction no Game Maker
Não tinha visto, hehehedharrison escreveu:Gabreel escreveu:Só duas coisa Haris, dá pra trocar os speed por:
- Código:
x += cos(direction*pi/180) * 4;
y -= sin(direction*pi/180) * 4;
Aí você terá uma flexibilidade gigante sobre o código e colisões!
E você em vez de direction colocou diretion!
Vlw Gabreel, corrigi o erro
Mas explica melhor como funciona isso ae, fasfavortio
Basicamente, em x, você tem um período entre pi (quando a direção é 180) até pi/180 (quando a direção é 0), que correspondem um período de -1 até (quanto mais casas decimais em pi, mais próximo de) 1 quando (e uma parábola pra cima entre eles) dentro de cos.
E em y, você tem o mesmo período entre pi e pi/180 e um período de 0 à (quanto mais casas decimais em pi, mais próximo de) 0 (com uma parábola para cima entre eles).
E obviamente cos e sen estão diretamente conectados. Vou dar dois exemplos bem básicos:
Quando a direção é 0 (vai horizontalmente pra frente), o cos(pi/180)*4 = 4 e sen(pi/180)*4 = 0.
Quando a direção é 45 (ele vai para a diagonal para cima e para frente, conforme o teu esquema), então, sen(45*pi/180)*4 = cos(45*pi/180)*4 =~ 2,82. Se você fazer a mesma coisa com speed, vai confirmar.
Gabreel- Data de inscrição : 02/10/2009
Reputação : 52
Número de Mensagens : 2232
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Plataformas :- Game Maker 8.0 ou 8.1
- Game Maker Studio 1.4
- Game Maker Studio 2.0
- Javascript
- Outros
Re: [Tuto p/ Iniciante] Usando Direction no Game Maker
Achei o tutorial bem pequeno, porém cumpre o prometido e é explicado, não falhando em, seu objetivo.
Mas uma coisa que tenho curiosidade sobre direction(direção, vetor):
Como se calcula a direção de 2 pontos, isto é, qual é o algorítmico por trás desta função:
point_direction(x1, y1, x2, y2)
Eu sei que a distância entre dois pontos é:
Raiz Quadrada de (x1-x2)² + (y1-y2)²
Mas já procurei e procurei mas não achei o da direção.
Mas uma coisa que tenho curiosidade sobre direction(direção, vetor):
Como se calcula a direção de 2 pontos, isto é, qual é o algorítmico por trás desta função:
point_direction(x1, y1, x2, y2)
Eu sei que a distância entre dois pontos é:
Raiz Quadrada de (x1-x2)² + (y1-y2)²
Mas já procurei e procurei mas não achei o da direção.
Re: [Tuto p/ Iniciante] Usando Direction no Game Maker
quando vc usa point_direction x1 e y1 é o ponto de origem, e x2 e y2 é o segundo ponto, isso cria uma linha.
O GM pega essa linha e retorna o angulo dela em graus.
eu não manjo muito
O GM pega essa linha e retorna o angulo dela em graus.
eu não manjo muito
dharrison- Games Ranking :
Notas recebidas : A - B
Data de inscrição : 04/02/2009
Reputação : 120
Número de Mensagens : 1363
Prêmios :
x 0 x 9 x 0
x 0 x 1 x 0
x 0 x 0 x 1
Plataformas :- Game Maker 8.0 ou 8.1
- Game Maker Studio 2.0
- C#
Re: [Tuto p/ Iniciante] Usando Direction no Game Maker
Bom, se for o que eu estou pensando, é simples, pense assim:theguitarmester escreveu:Achei o tutorial bem pequeno, porém cumpre o prometido e é explicado, não falhando em, seu objetivo.
Mas uma coisa que tenho curiosidade sobre direction(direção, vetor):
Como se calcula a direção de 2 pontos, isto é, qual é o algorítmico por trás desta função:
point_direction(x1, y1, x2, y2)
Eu sei que a distância entre dois pontos é:
Raiz Quadrada de (x1-x2)² + (y1-y2)²
Mas já procurei e procurei mas não achei o da direção.
A tangente disso é (y2 - y1) / (x2 - x1), e a função contrária (isto é, a tangente é a transformação de algum ângulo para tangente (dãã), precisamos da função que faz o contrário) é a cotangente.
Então point_direction(x1, y1, x2, y2) = cotg((y2 - y1) / (x2 – x1))
Gabreel- Data de inscrição : 02/10/2009
Reputação : 52
Número de Mensagens : 2232
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Plataformas :- Game Maker 8.0 ou 8.1
- Game Maker Studio 1.4
- Game Maker Studio 2.0
- Javascript
- Outros
Re: [Tuto p/ Iniciante] Usando Direction no Game Maker
Só olhar o item 7: https://gmbr.forumeiros.com/t17425-scriptscripts-matematicos
Falando sobre o tutorial, está muito bom.
Talvez possa acrescentar que hspeed e vspeed dependem também (embora esteja implicito no tutorial):
Automaticamente, hspeed será 0 e vspeed será 5.
Automaticamente, hspeed=5, vspeed=8.66.
Falando sobre o tutorial, está muito bom.
Talvez possa acrescentar que hspeed e vspeed dependem também (embora esteja implicito no tutorial):
- Código:
direction = 90;
speed = 5;
Automaticamente, hspeed será 0 e vspeed será 5.
- Código:
direction = 60;
speed = 10;
Automaticamente, hspeed=5, vspeed=8.66.
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:
Re: [Tuto p/ Iniciante] Usando Direction no Game Maker
...E o mesmo quando inverso. Se declararmos que hspeed=[maior que 0] com vspeed nula, automaticamente a direction é retornada pra nós, nesse caso, 0.
Eu queria que vocês dessem uma olhada no meu carrinho:
http://www.4shared.com/file/b2jOqkeDce/CARRINHO_ISOMTRICO_BY_POLOSAM.html
Eu atribuí um monte de subdivisões para os "ângulos de pontos cardeais" que vocês citaram, com pelo menos umas 20 subimages (que ainda aproveito dobrando elas por image_xscale=-1)!
Baixei um model de domínio público de uma ferrari 3d (ou lamborguini, sei lá) e rotacionei ela no studiomax, capturando um monte de PNGs. Já que eu não fui o modelador dela, não há porque reter isso. Compartilho com quem quiser levar a engine adiante!
Eu queria que vocês dessem uma olhada no meu carrinho:
http://www.4shared.com/file/b2jOqkeDce/CARRINHO_ISOMTRICO_BY_POLOSAM.html
Eu atribuí um monte de subdivisões para os "ângulos de pontos cardeais" que vocês citaram, com pelo menos umas 20 subimages (que ainda aproveito dobrando elas por image_xscale=-1)!
Baixei um model de domínio público de uma ferrari 3d (ou lamborguini, sei lá) e rotacionei ela no studiomax, capturando um monte de PNGs. Já que eu não fui o modelador dela, não há porque reter isso. Compartilho com quem quiser levar a engine adiante!
polosam- Games Ranking :
Notas recebidas : A + B
Data de inscrição : 20/12/2010
Reputação : 120
Número de Mensagens : 749
Prêmios :
x 0 x 0 x 0
x 1 x 1 x 0
x 0 x 0 x 0
Plataformas :- Game Maker 8.0 ou 8.1
- Game Maker Studio 1.4
Tópicos semelhantes
» Game Maker iniciante - interface
» Game Maker iniciante - Sprites
» Manual do usuário iniciante em Game Maker
» Usando texturas no Game Maker
» Usando a linguagem LUA no Game Maker.
» Game Maker iniciante - Sprites
» Manual do usuário iniciante em Game Maker
» Usando texturas no Game Maker
» Usando a linguagem LUA no Game Maker.
GMBR :: Ensine & Aprenda :: Tutoriais :: Game Maker
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos
|
|