GMBR
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.
Entrar

Esqueci-me da senha

Últimos assuntos
» 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

» Como ajustar velocidade de cada frame da animação no game maker
por Ralphed Qui 18 Abr 2024, 18:28

» 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]Será que está muito longe?

4 participantes

Ir para baixo

[TUTO]Será que está muito longe? Empty [TUTO]Será que está muito longe?

Mensagem por Hatzo enkiri Sáb 04 Set 2010, 19:31

Nível:Iniciante/Intermediário
Plataforma:Eu não sei mas o meu Game Maker é o 8

Distância customizada

Olá pessoal!
Hoje eu vou ensinar a achar a distância entre dois objetos.

Muitas vezes nós programadores de gml precisamos achar a distância entre dois objetos.
Para isso existem dois jeitos:
O primeiro ,que é mais fácil, criado por nosso ídolo:Mark o criador do Game Maker ;
E o segundo que é customizado criado por mim!!

Mas como eu faço isso? Tem que ser um grande programador para isso ,não?
Tem que saber milhares de códigos,não?


Bom não é tão difícil só tem que saber um pouco de matemática e um pouco de Comandos do GM.
Bom,Primeiramente tenho que explicar duas coisas:

1-Função
Uma função é um script que retorna valores isso é muito bom pois assim nós podemos fazer nossos próprios códigos como o move_towards_point().

2.Como vai ser o código
Isso é uma coisa que você vai ver só no Ensino Médio ou talvez já tenha visto isso.
A fórmula é bem grandinha,e ela pode ser explicada pelo grande Pitágoras!
Tá aí o código:

Código:
var d,x1,x2,y1,y2;

if instance_exists(argument0)
{x1=x
x2=argument0.x
y1=y
y2=argument0.y

d=floor(power(sqr(x1-x2)+sqr(y1-y2),1/2))}

return d;

Ponha esse código num script.E quando quiser usá-lo então ponha
Código:
nome_do script(Nome_do objeto)

Vamos supor que você queira testar a distância entre o objeto_alpha e o objeto_beta(no obejto_alpha)
e se ela for maior que 100 então a instância do alpha é destruída e o nome que eu dei para o script é distanciao .O código será então:

Código:
if distanciao(objeto_beta)>100
{instance_destroy()}

Para desenhar o valor da distancia é necessário que você salve o valor numa variável primeiro.
Usando o mesmo exemplo(o script continua com o nome de distanciao)
No evento create:
Código:
d_d=0

No evento STEP:
Código:
d_d=distancia(objeto_beta)

No evento DRAW
Código:
{draw_text(x_que_vc_quer,y_que_vc_quer,string(d_d))}

Por último eu vou explicar o código:
Código:
var d,x1,x2,y1,y2;//declarei as variáveis que serão utilizadas no script
Código:
if instance_exists(argument0)//checa se existe uma instância do outro objeto
{x1=x//var x1 igual ao x do objeto em que vc pos o código
x2=argument0.x//var x2 igual ao x do outro objeto em que você quer achar a distância
y1=y//var y1 igual ao y do objeto em que vc pos o código
y2=argument0.y//var y2 igual ao y do outro objeto em que você quer achar a distância
Código:
d=floor(power(sqr(x1-x2)+sqr(y1-y2),1/2))}//acha a distância graças ao principio matemático
Código:

return d;//retorna o valor da distância por isso o script é uma função
Observações:
**A função do criador do game maker correspondente é
Código:
distance_to_object(nome do objeto)

**Eu só testei com apenas uma instância de cada objeto.

**Não me ache louco por fazer isso em modo custom.


Qualquer ou outra coisa que queira acrescentar,por favor fale aqui no tópico.
E comentem.


Última edição por Janx em Sáb 18 Set 2010, 09:36, editado 2 vez(es) (Motivo da edição : Adequar as regras)
avatar
Hatzo enkiri

Games Ranking : Nota B

Notas recebidas : B
Data de inscrição : 19/02/2009
Reputação : 7
Número de Mensagens : 226
Prêmios : [TUTO]Será que está muito longe? Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

[TUTO]Será que está muito longe? Empty Re: [TUTO]Será que está muito longe?

Mensagem por vitor_liminha123 Sáb 04 Set 2010, 19:33

O.O
Não entendi nadinha.
Sad (sou burro)
vitor_liminha123
vitor_liminha123

Data de inscrição : 16/08/2010
Reputação : 12
Número de Mensagens : 510
Prêmios : [TUTO]Será que está muito longe? Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://www.newgrounds.com/tanber

Ir para o topo Ir para baixo

[TUTO]Será que está muito longe? Empty Re: [TUTO]Será que está muito longe?

Mensagem por Hatzo enkiri Sáb 04 Set 2010, 19:45

O que não entendeu?
avatar
Hatzo enkiri

Games Ranking : Nota B

Notas recebidas : B
Data de inscrição : 19/02/2009
Reputação : 7
Número de Mensagens : 226
Prêmios : [TUTO]Será que está muito longe? Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

[TUTO]Será que está muito longe? Empty Re: [TUTO]Será que está muito longe?

Mensagem por Hedgehog Sáb 04 Set 2010, 19:57

Calma vitor! Burro não, novato, diz ai o q vc não entendeu q agente explica!
Hedgehog
Hedgehog

Data de inscrição : 28/08/2008
Reputação : -2
Número de Mensagens : 384
Prêmios : [TUTO]Será que está muito longe? Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://www.recursos-mania.forumeiros.com/

Ir para o topo Ir para baixo

[TUTO]Será que está muito longe? Empty Re: [TUTO]Será que está muito longe?

Mensagem por Hatzo enkiri Sáb 04 Set 2010, 20:07

Hedgehog vc entendeu tudo?
Vitor o Hedgehog está certo ainda há muito o que aprender.
Uma dica que eute dou é dar uma olhada nas aulas e procurar apostilas de lógica de Programação;
Eu era pior que burro quando comecei por isso desisti durante um tempo do GM.
Daí eu comecei um curso de técnico em Informática e agora fica mais fácil entender o Game Maker.
Espero que tenha pegado a dica.
avatar
Hatzo enkiri

Games Ranking : Nota B

Notas recebidas : B
Data de inscrição : 19/02/2009
Reputação : 7
Número de Mensagens : 226
Prêmios : [TUTO]Será que está muito longe? Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

[TUTO]Será que está muito longe? Empty Re: [TUTO]Será que está muito longe?

Mensagem por Hedgehog Sáb 04 Set 2010, 20:10

Não entendi no total, mas as funções e o motivo de elas estarem lá, tais como as variáveis, sim.

Vitor, pra vc que é novato, teria resultados parecidos assim

Crie um obj_controle

CREATE

Código:
distancia=0

no STEP

Código:
x=player.x
y=player.y

Código:
distancia=distance_to_object(objeto que vc quer medir a distancia)

DRAW

Na aba control, acho, arrasta Draw variable

Código:
variable=distancia
x=16
y=16


Última edição por Hedgehog em Sáb 04 Set 2010, 20:24, editado 1 vez(es)
Hedgehog
Hedgehog

Data de inscrição : 28/08/2008
Reputação : -2
Número de Mensagens : 384
Prêmios : [TUTO]Será que está muito longe? Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://www.recursos-mania.forumeiros.com/

Ir para o topo Ir para baixo

[TUTO]Será que está muito longe? Empty Re: [TUTO]Será que está muito longe?

Mensagem por Hatzo enkiri Sáb 04 Set 2010, 20:24

As funções power é uma função matemática que tem a sintaxe(como é fgeita a função):

Código:
power(num,num2)

Daí ele faz num elevado a num2
Para tirar a raiz quadrada você tem elevar o número a uma fração (1/2).
o floor arredonda um número real para um inteiro menor.Por exemplo:

Código:
floor(7.2)

isso retorna 7
E o sqr eleva um número ao quadrado.
Exemplo:

Código:
sqr(4)
Isso retorna 16.
Outra coisa a formula matemática é uma coisa que você aprende em geometria na escola.Eu estou no segundo colegial aprendi isso na semana passada
avatar
Hatzo enkiri

Games Ranking : Nota B

Notas recebidas : B
Data de inscrição : 19/02/2009
Reputação : 7
Número de Mensagens : 226
Prêmios : [TUTO]Será que está muito longe? Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

[TUTO]Será que está muito longe? Empty Re: [TUTO]Será que está muito longe?

Mensagem por Luan Maia Sáb 04 Set 2010, 22:33

Acho que entendi o tutorial, mesmo estando no 9º ano (8ª Série) me lembro de já ter aprendido estas operações matemáticas, como o Teorema (acho que é isso) de Pitágoras, não me lembro quando, mas eu já aprendi isso sim. Mas enfim, ótimo tutorial, isso é muito importante dependendo do jogo em que você pretende fazer, mesmo tendo o "distance_to_object". xD
flw
Luan Maia
Luan Maia

Games Ranking : Sem avaliações

Notas recebidas : D+C+C+D
Data de inscrição : 01/07/2010
Reputação : 2
Número de Mensagens : 404
Prêmios : [TUTO]Será que está muito longe? Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

[TUTO]Será que está muito longe? Empty Re: [TUTO]Será que está muito longe?

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos