Entrar
Últimos assuntos
» player não consegue andarpor lovn7 Qui 21 Nov 2024, 13:33
» É possível fazer istó no game maker
por William Lima Qui 21 Nov 2024, 10:56
» Rio Rise - novo launcher do Gta San Andreas SAMP Brasil
por Lua Sáb 16 Nov 2024, 20:22
» (Resolvido) Cenario longo x Texture Pages
por josuedemoraes Sáb 16 Nov 2024, 15:31
» Kids' band
por Adilson Lucindo Santos Sex 15 Nov 2024, 12:23
» (RESOLVIDO) Engasgos-Troca de Sprites/animações
por josuedemoraes Ter 12 Nov 2024, 01:49
» Block Room - DEMO
por Joton Qua 06 Nov 2024, 22:58
» Game Infinito vertical (subindo)
por macmilam Sáb 26 Out 2024, 12:36
» Retorno da GMBR!!!
por Dancity Ter 22 Out 2024, 16:36
» Máquina de estados
por aminaro Qui 10 Out 2024, 13:33
» como faço pra um objeto colidir com o outro e diminuir a vida do player ?
por josuedemoraes Qui 03 Out 2024, 16:51
» RESOLVIDO: Colisão com objetos moveis
por josuedemoraes Qua 02 Out 2024, 20:28
» Crypt of the Blood Moon
por divin sphere Qua 11 Set 2024, 18:18
» como fazer um objeto seguir?
por divin sphere Dom 18 Ago 2024, 18:08
» Procuro de alguém para Modelar/Texturizar/Animar objetos 3D
por un00brn Dom 11 Ago 2024, 11:10
» Destruição de cenário (estilo DD Tank)
por CoronelZeg Sex 09 Ago 2024, 17:16
» RESOLVIDO-Como destruir uma instancia especifica de um objeto
por josuedemoraes Ter 23 Jul 2024, 00:40
» Automatizar a coleta de id
por GabrielXavier Seg 22 Jul 2024, 18:01
» Preciso de ajuda para concluir um pequeno projeto
por lmoura Qui 27 Jun 2024, 15:45
» ANGULO ACOMPANHAR O OBJETO
por Klinton Rodrigues Qui 27 Jun 2024, 08:34
» Musica reinicia quando sala reinicia
por GabrielXavier Ter 18 Jun 2024, 07:28
» como fazer uma copia de gd
por generico_cube Sex 14 Jun 2024, 15:48
» Square Adventure
por guilherme551 Ter 11 Jun 2024, 09:54
» como posso definir limite de uma variavel
por GabrielXavier Sex 07 Jun 2024, 14:14
» [Resolvido] Dúvida, colisão única de objeto
por vdm842 Sex 24 maio 2024, 09:50
[TUTO]Será que está muito longe?
4 participantes
GMBR :: Ensine & Aprenda :: Tutoriais :: Game Maker
Página 1 de 1
[TUTO]Será que está muito longe?
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:
Ponha esse código num script.E quando quiser usá-lo então ponha
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:
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:
No evento STEP:
No evento DRAW
Por último eu vou explicar o código:
**A função do criador do game maker correspondente é
**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.
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
**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)
Hatzo enkiri- Games Ranking :
Notas recebidas : B
Data de inscrição : 19/02/2009
Reputação : 7
Número de Mensagens : 226
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: [TUTO]Será que está muito longe?
O que não entendeu?
Hatzo enkiri- Games Ranking :
Notas recebidas : B
Data de inscrição : 19/02/2009
Reputação : 7
Número de Mensagens : 226
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: [TUTO]Será que está muito longe?
Calma vitor! Burro não, novato, diz ai o q vc não entendeu q agente explica!
Re: [TUTO]Será que está muito longe?
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.
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.
Hatzo enkiri- Games Ranking :
Notas recebidas : B
Data de inscrição : 19/02/2009
Reputação : 7
Número de Mensagens : 226
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: [TUTO]Será que está muito longe?
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
no STEP
DRAW
Na aba control, acho, arrasta Draw variable
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)
Re: [TUTO]Será que está muito longe?
As funções power é uma função matemática que tem a sintaxe(como é fgeita a função):
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:
isso retorna 7
E o sqr eleva um número ao quadrado.
Exemplo:
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
- 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)
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
Hatzo enkiri- Games Ranking :
Notas recebidas : B
Data de inscrição : 19/02/2009
Reputação : 7
Número de Mensagens : 226
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: [TUTO]Será que está muito longe?
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
Luan Maia- Games Ranking :
Notas recebidas : D+C+C+D
Data de inscrição : 01/07/2010
Reputação : 2
Número de Mensagens : 404
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Tópicos semelhantes
» GMS está free.... mas muito limitado
» [Resolvido]O site do fórum esta demorando muito para carregar
» Game Creator! Um Maker muito muito avançado![Pausado]
» [tuto]fazer o player andar clikando com o mouse[tuto]
» [TUTO] Criando um Game de Plataforma [TUTO]
» [Resolvido]O site do fórum esta demorando muito para carregar
» Game Creator! Um Maker muito muito avançado![Pausado]
» [tuto]fazer o player andar clikando com o mouse[tuto]
» [TUTO] Criando um Game de Plataforma [TUTO]
GMBR :: Ensine & Aprenda :: Tutoriais :: Game Maker
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos