Conectar-se

Esqueci minha senha

Últimos assuntos
» Nota de esclarecimento - GMBR voltou!
Sex 23 Jun 2017, 20:33 por Willy

» Regras do Fórum
Sex 23 Jun 2017, 19:02 por GMBR

» Retorno da GMBR!!!
Ter 24 Jan 2017, 15:43 por GMBR

» Criando IA Simples para inimigos
Qua 25 Nov 2015, 19:22 por DJDAVYD

» Crio Trilha Sonora para Games!
Qui 27 Ago 2015, 13:50 por Isaias Malafaia

» Western Duels
Seg 24 Ago 2015, 07:47 por theguitarmester

» Dúvida sobre strings, lendo txt
Sab 22 Ago 2015, 20:31 por Pai véi

» Janela Modal
Sab 22 Ago 2015, 09:23 por Pai véi

» LudumDare #33
Sex 21 Ago 2015, 21:17 por WellingtonBecker

» GMS sempre salva projeto ao compilar?
Sex 21 Ago 2015, 12:32 por Pai véi

» Tipo de Draw que dê melhor fps...
Sex 21 Ago 2015, 12:25 por Pai véi

» Banco de Dados online fácil de configurar
Sex 21 Ago 2015, 11:47 por Pai véi

» Ficou estranho esse efeito na terra?
Qua 19 Ago 2015, 20:08 por Adriel

» Você consegue decifrar o que é isso?
Qua 19 Ago 2015, 15:48 por Mateus O de Andrade

» Texto centralizado em sprite 64x64
Qua 19 Ago 2015, 14:00 por Vandson Fernandes

» [Tutorial] Um Único Script para Todos Diálogos do Jogo
Ter 18 Ago 2015, 22:12 por dharrison

» VIDEO AULAS - Plataforma - Recriando Super Mario
Ter 18 Ago 2015, 20:44 por Adriel

» Ajuda deixar room maior
Ter 18 Ago 2015, 15:56 por Stickman

» OST - Rain From The Past (Para Main Themes)
Seg 17 Ago 2015, 23:00 por Jessezyn

» #DGM Aula 01 - Views
Seg 17 Ago 2015, 00:16 por victor13.

» Alguém sabe as dimensões de um galaxy s5?
Dom 16 Ago 2015, 20:06 por vitorfernandes13

» Conquer The Kingdom
Dom 16 Ago 2015, 12:13 por DVictorPS

» [Ajuda] Bug ds_list
Dom 16 Ago 2015, 08:27 por Witen

» câmera seguir player com touch control android
Sab 15 Ago 2015, 15:05 por Lighter

» Apk não roda no celular
Sab 15 Ago 2015, 12:10 por xLuiZzz


Path - Criando e Usando

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Path - Criando e Usando

Mensagem por JV Justino em Seg 27 Jun 2011, 20:11

Nome: Path - Criando e Usando
Descrição: Como usar Paths e funções relacionadas
Nível: Intermediário
Requerimentos: GM8 Lite/Pro

Olá a todos!
Nesse tutorial, ensinarei a criar Paths e usá-los.

Vamos Começar!

1- O que são Paths?


Paths são caminhos onde os objetos podem seguir. É um recurso muito importante, pois com ele você pode evitar muitos códigos para fazer movimentos.
Para criar um Path, clique no icone e aparecerá uma janela como essa:


Para criar o caminho, você deve clicar na grade, ou clicar no botão Add. Surgirá um ponto no mapa e os atributos do ponto na lista à esquerda. Os atributos são:
  • X: A posição x do ponto no mapa.
  • Y: A posição y do ponto no mapa.
  • sp: A porcentagem de velocidade do objeto neste ponto. A velocidade será dada pelo objeto, e será controlada por este atributo. Se sp for 100, o objeto andará na velocidade escolhida. Se for 200, o objeto andará com o dobro da velocidade. Se for 50, o objeto andará com a metade da velocidade.

Clique agora em outro lugar, e verá que os doi pontos foram ligados por uma reta. Essa reta já é um caminho para o objeto andar. Repita o processo até formar um caminho completo. Se você quiser fechar o caminho, de modo que o objeto recomece o trajeto, marque a opção Closed. Em Connection kind você pode escolher o modo como serão os caminhos:
  • Straight Lines: Se quiser que todo o caminho seja reto.
  • Smooth Curve: Se quiser que todo o caminho seja curvado.

E por último, o campo Precise define a precisão das curvas, deixando-as mais arredondadas ou mais retas. Devem ser inseridos valores de 1 a 8.

2- Usando Paths em objetos


path_start(path,speed,endaction,absolute)
Inicia o Path no objeto. Em path você deve colocar o nome do path. Em speed você coloca a velocidade. Em endaction você coloca o que deverá acontecer quando terminar o trajeto. Pode ser colocado os valores:
  • 0- Para o trajeto.
  • 1- Recomeça o path. Se ele não for fechado, o objeto pulará para a posição inicial do path.
  • 2- Recomeça o path, partindo da posição atual do objeto.
  • 3- Faz o caminho inverso.

Em absolute você define se o objeto fará o trajeto partir da posição atual ou da posição definida no path.

path_end()
Termina o Path do objeto.

Existem variáveis que coordenam o trajeto do objeto. São elas:

path_index
Indica qual Path o objeto está seguindo.
path_position
Indica a posição do objeto no Path. 0 é o inicio do Path, e 1 é o fim. Outras posições recebem valores decimais.
path_positionprevious
Indica a posição anterior do objeto no Path. Pode ser usada em colisões, fazendo o objeto voltar a posição anterior.
path_speed
Indica a velocidade do objeto no path.
path_orientation
Indica o ângulo do path no sentido anti-horário.
path_scale
Indica o tamanho do path. 1 é o tamanho normal.
path_endaction
Indica o que ocorrerá no fim do path.

3-Criando e Editando Paths


path_set_kind(ind,val)
Define se o path ind será feito por linhas retas (0) ou curvas (1).

path_set_closed(ind,closed)
Define se o path ind será aberto (0) ou fechado (1)

path_set_precision(ind,prec)
Define a precisão das curvas do path ind. Os valores devem estar entre 1 e 8.

path_add()
Cria um novo path. Deve ser seguida de uma variável.

path_delete(ind)
Deleta o path ind.

path_duplicate(ind)
Duplica o path ind. Deve estar seguida de uma variável.

path_assign(ind,path)
Faz uma copia do path path, e cola no path ind.

path_append(ind,path)
Une o path ind com o path path

path_add_point(ind,x,y,speed)
Adiciona um ponto no path ind em (x,y). Em speed, você deve colocar a porcentagem da velocidade. Lembram-se no item 1? É a mesma coisa.

path_insert_point(ind,n,x,y,speed)
Adiciona um ponto no path ind logo após o ponto de número n em (x,y), com a porcentagem de velocidade speed.

path_change_point(ind,n,x,y,speed)
Altera a posição e a velocidade do ponto n do path ind

path_delete_point(ind,n)
Deleta o ponto n do path ind

path_clear_points(ind)
Deleta todos os pontos do pathind

path_reverse(ind)
Reverte o path ind, alterando sua posição a partir do último ponto.

path_mirror(ind)
Inverte o path ind horizontalmente.

path_flip(ind)
Inverte o path ind verticalmente.

path_rotate(ind,angle)
Gira o path ind em angle graus.

path_scale(ind,xscale,yscale)
Altera a escala do path ind, partindo do centro.

path_shift(ind,xshift,yshift)
Altera a posição do path ind, pulando xshift x e yshift y.

4- Retornando Valores


path_exists(ind)
Retorna se o path ind existe.

path_get_name(ind)
Retorna o nome do path ind.

path_get_lenght(ind)
Retorna o comprimento do path ind.

path_get_kind(ind)
Retorna se o path ind é feito de linhas retas ou curvas.

path_get_closed(ind)
Retorna se o path ind é fechado ou não.

path_get_precision(ind)
Retorna a precisão das curvas do path ind.

path_get_number(ind)
Retorna o número de pontos do path ind

path_get_point_x(ind,n)
Retorna a coordenada x do ponto n do path ind.

path_get_point_y(ind,n)
Retorna a coordenada y do ponto n do path ind.

path_get_point_speed(ind,n)
Retorna a velocidade do ponto n do path ind.

path_get_x(ind,pos)
Retorna a coordenada x da posição pos do path ind. pos deve estar entre 0 e 1.

path_get_y(ind,pos)
Retorna a coordenada y da posição pos do path ind. pos deve estar entre 0 e 1.

path_get_speed(ind,pos)
Retorna a velocidade da posição pos do path ind. pos deve estar entre 0 e 1.


E este tutorial acaba aqui. Espero ter ajudado a todos e qualquer coisa é só perguntar!

さようなら!


Última edição por JV Justino em Dom 26 Fev 2012, 15:18, editado 2 vez(es)
avatar
JV Justino

Ranking : Nota A
Notas recebidas : A+A
Data de inscrição : 07/12/2010
Número de Mensagens : 619
Insígnias de JAM :

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

Prêmios
   : 0
   : 0
   : 0

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Path - Criando e Usando

Mensagem por victor_aco em Seg 27 Jun 2011, 20:41

Ótimo tutorial! Muito bem explicado e organizado. Já estou aprovando aqui.
avatar
victor_aco

Data de inscrição : 25/03/2010
Número de Mensagens : 666
Insígnias de JAM :

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

Prêmios
   : 0
   : 0
   : 0

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum