[Curso de GML] Aula 2 - Extra 1: Lista Completa e Explicada de Built-in Variables e Visão Geral sobre Constants

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

Qualidade [Curso de GML] Aula 2 - Extra 1: Lista Completa e Explicada de Built-in Variables e Visão Geral sobre Constants

Mensagem por Markituh em Dom 28 Nov 2010, 12:50

Aula 2 - Extra 1: Lista Completa e Explicada de Built-in Variables e Visão Geral sobre Constants


Objetivo: Ensinar como lidar com constants e B-In Vars.
Dificuldade: Depende da sua leitura e atenção.
Ferramenta: GM7 ou GM8.

Opa! Bem-vindos a primeira aula extra da Aula 2, yeah! Vou dar uma breve introdução às constants e uma lista organizada de B-In Vars, separada por classes e com uma breve descrição de sua função. Enquanto estou fazendo esta aula, Dharisson foi ao bar da esquina tomar uma, em vez de debater coisas da aula comigo  bravo Vamos lá?

Constants
Constants são variáveis constantes, o próprio nome ja diz isso. As Contants possuem valores fixos, ou seja, nunca mudam. Você pode definir uma constante indo em no menu Resources ---> Definine Constants, ou simplesmente apertar Control + Shift + N. Segue aí uma outra explicação de contants e exemplos por Dharrison:

Nenhuma Constant, apenas a Variável:
Você pode declarar uma variável sozinha, até mesmo sem usar nenhum Statement. Isso ocorre principalmente no eventro Create dos Objetos, onde definimos as variaveis que serão criadas, ou definimos valores para Built-in Variables.
Declaramos da Seguinte forma:
variavel = valor
exemplos:
Código:
parado=true
image_speed=0.5
health=100
score=0
sprite_index=spritedopersonagem
Auto explicativo.

SELF:
Podemos declarar self como valor de algumas variaveis. Sobretudo locais ou globais.
self significa 'o mesmo', como myself (PT: eu mesmo) ou yourself (PT: você mesmo). Dessa forma, podemos declarar algo sobre o próprio objeto, ou usar o próprio objeto como valor de uma variavel.
Por exemplo, se temos um menu de 3 personagens para escolher, você define uma variavel global para saber qual o personagem está sendo usado. Então no código do personagem você coloca:
Código:
if global.escolhido=obj_personagem2
{
global.personagem_atual=self
}
Não são muito casos que se usa, mas se usa.

OTHER:
Podemos declarar other quando há um evento de colisão. Nesse caso o conteúdo do código será executado sobre o Outro (Other) Objeto, e não aquele no qual o código está. Por exemplo, se o Mario colide com a moeda, você coloca no evento de Collision da moeda:
Código:

{
other.moedas+=1 //adiciona uma moeda para o Mario.
instance_destroy() //a moeda se auto destroi
}
Essa Constant pode ser bem útil quando se trabalha com Colisões de 1 objeto com vários outros, mas que fariam a mesma coisa. Por exemplo, se fôssemos jogar com o Luigi, o código acima serviria para ele também, bastando copiá-lo para uma Colisão com o obj_luigi.

Existem várias outras Constants, que serão listadas depois.

obj.var
Também podemos declarar, usar numa expressão ou mudar o valor de uma variavel de um outro objeto, sem estar em colisão com ele.
Para isso use a fórmula:
objeto.variavel
exemplos:
Código:
Hero.health -= 20 //diminui a saúde do Hero, sem precisar declarar isso no obj Hero.
Bloco.solid=false //faz o bloco deixar de ser sólido, sem precisar declarar isso nele.
Bowser.speed=3 //muda velocidade do bowser para 3. Preciso repetir a frase acima?

No Aplicativo de Revisão da Aula 2 você poderá ver exemplos práticos disto também (alem de coisas que aprendemos na Aula 2).

"Tá, mas o que é uma Constant?"
Uma Constant é uma Constante!! (Faz sentido...)
Constants são trechos de código que nunca mudam seus valores, por exemplo, a Constant vk_enter (que representa a tecla Enter), sempre será a tecla Enter!
Existem 243 Constants no script do Game Maker, pode ser que algumas você jamais chegue a usar na sua vida. Por isso listaremos as mais básicas no final da aula.


Vamos a tão esperada lista agora. ( É contigo Markituh!! Feliz)

--------------------------------------


Lista Completa e Explicada de Built-in Variables

Para não ficarem misturadas, separei por classes.

Built-in Variables de uso Global:

Classe dos argumentos.
Usado nos Scripts(ex: scrip_tal(argument0,argument1))
argument - Um argumento que será usado num Script. Futuramente ensinaremos mais sobre Scripts.
argument0
argument1
argument2
argument3
argument4
argument5
argument6
argument7
argument8
argument9
argument10
argument11
argument12
argument13
argument14
argument15
- (obs: O número de arguments que um script pode usar são 16, de 0 a 15)
argument_relative - Define se o argument é ou não relativo.

Classe dos Backgrounds.
As demais variáveis estão relacionadas a configuração do background. Algumas(ou todas) estão bem na cara de perceber a função.
background_alpha - Define o Canal Alpha (Tranparência) do Background. Use um valor de 0 a 1. (0, 0.1, 0.2, etc)
background_blend - Como image_blend (abaixo), mas no background.
background_color - Define a cor do background.
background_foreground - Define o background como foreground.
background_height - Altura do background.
background_hspeed - Define a velocidade horizontal do background.
background_htiled - Define Tiles horizontais do backgroud(?)
background_index - Indice do background. O nome dele.
background_showcolor - Mostra determinada cor no background. O default é c_gray.
background_visible - Define se o background é ou não visível.
background_vspeed - Velocidade vertical do background.
background_vtiled - Define Tiles verticais do backgroud(?)
background_width - Largura do background.
background_x - Valor X do background.
background_xscale - Escala X do background. Para aumentá-lo use um valor acima de 1, para diminuir um valor de 0.1 a 0.9.
background_y - Valor Y do background.
background_yscale - Escala Y do Background. Como xscale, mas no eixo Y.

Classe das Legendas.
Provalvelmente algo em relação a colocar a quantidade de saúde,vidas e pontos.
caption_health - Health no nome da janela
caption_lives - Vidas no nome da janela
caption_score - Pontos no nome da janela

Classe do Sistema de Data.
São os valores atuais do seu PC.
current_day - Dia atual do computador
current_hour - Hora atual do computador
current_minute - Minuto atual do computador
current_month - Mês atual do computador
current_second - Segundo atual do computador
current_time - Tempo atual do computador
current_weekday - Dia da semana atual do computador
current_year - Ano atual do computador

Classe dos Erros.
(Acho que é os erros que o GM aponta no código.)
error_last - Último erro apontado
error_occurred - Erro ocorrido

Classe dos Eventos.
Eventos dos objetos, para quem estiver trabalhando com adicionar eventos ao objeto em tempo de execução. Sim, é possível, vou explicar isso no extra sobre built-in functions.
event_action - Ação do evento
event_number - Número do evento
event_object - Objeto do evento
event_type - Tipo do evento

Classe Essencial.
Essas estavam sozinhas, então encaxei elas aqui.
fps - Não preciso dizer nada, basicamente é o FPS (Frames per Second) do jogo.
game_id - Id do seu jogo. Você pode ver ela na Global Game Settings, aba Loading, caixa Game Identifer.
health - Health, saúde. Ou, conhecido por muitos gamers como "sangue".
lives - Vidas. Preciso dizer algo mais? Smile
score - Pontos
program_directory - Diretório onde seu jogo está localizado
secure_mode - Numa tradução, significa modo seguro. Talvez é para rodar o GM no modo seguro ou algo assim.
temp_directory - Diretório temporário que o GM cria.
workind_directory - Diretório em que o GM está trabalhando.

Classe das Instâncias
instance_count - Contagem de instâncias. Provalvelmente instâncias da room.
instance_id - Id da instância (Não acho que ela devia ser variável global)

Classe do Teclado
keyboard_key - Variável que representa as teclas do teclado. Usado muito em condições de switch.
keyboard_lastchar - Último caractere digitado
keyboard_lastkey - Última tecla pressionada
keyboard_string - Texto do teclado. Usa-se bastante para fazer caixas de texto.

Classe da Room.
Estas, exceto persistent e speed, não podem ser alteradas.
room - Variável que armazena a room atual.
room_caption - Título da room
room_first - Primeira room
room_height - Altura da room
room_last - Última room
room_persistent - Persistência da room
room_speed - Velocidade da room
room_width - Largura da room

Classe do Mouse
mouse_button - Variável que representa os botões do mouse. Usado geralmente para condições de switch
mouse_lastbutton - Último botão do mouse pressionado
mouse_x - Posição X do mouse
mouse_y - Posição Y do mouse

Classe das Informações
show_health - Mostrar o Health (Saúde). Use TRUE ou FALSE.
show_lives - Mostrar as Lives (Vidas). Use TRUE ou FALSE.
show_score - Mostrar o Score (Pontos). Use TRUE ou FALSE.

Classe de Transições
transition_kind - Tipo da transição. Olhe os tipos no comando D&D, mas não se esqueça de transforma-los em números.
transition_steps - Steps da transição

Classe das Views
(campo de visão do jogo, tamanho da 'tela').
view_angle - Ângulo da view
view_current - View atual
view_enabled - Se a view está ativada ou não.
view_hborder - Borda horizontal da view
view_hport - Altura da porta da view
view_hspeed - Velocidade horizontal da view
view_hview - Posição horizontal da view
view_object - Objeto que a view está seguindo
view_vborder - Borda vertical da view
view_visible - Visibilidade da view
view_vspeed - Velocidade verticial da view
view_wport - Largura da porta da view
view_wview - Largura da view
view_xport - Posição X da porta da view
view_xview - Posição X da view
view_yport - Posição Y da porta da view
view_yview - Posição Y da view


Built-in Variables de uso Local:

Classe das Imagens
image_alpha - Define o valor *Alpha da imagem, Use um valor de 0 a 1. (Como 0.5 para deixar a imagem 50% transparente por exemplo). *Canal de Transparência de Imagens Digitas, como Red/Green/Blue)
image_angle - Define o ângulo da imagem, mudando este valor a imagem irá rotacionar. Use um valor de 0 a 360 (Graus).
image_index - Indice da Imagem, use um númerico a partir de 0, o valor DEVE corresponder ao número da imagem do Sprite. (Ex: uma sprite de uma única imagem terá o valor 0, um de sprite de 4 Imagens terá o valor do 0 ao 3)
image_speed - Define a velocidade que as imagens do sprite terão. Esse valor é DIFERENTE do valor speed que você usa no editor de sprites.
image_xscale - Escala X da imagem. Colocando nessa variavel um valor de 0.1 a 0.9 irá diminuir a orientação X da imagem. Colocando um valor acima de 1 aumentará. O Valor 1 é o padrão.
image_yscale - Escala Y da imagem. Como image_xscale, mas na orientação Y.
image_blend - Digite uma cor do GM, ou uma cor Hexadecimal precedida pelo simbolo $. Essa variavel define uma cor de mistura para a recoloração da imagem.
image_number - Corresponde ao número da imagem.
image_single - Corresponde a uma única imagem estática.

Classe dos Paths
path_endaction - Termina o Path.
path_index - Indice do Path, aqui você define o Path que será usado.
path_orientation - Orientação do Path.
path_position - Posição do Path.
path_positionprevious - Posição Anterior do Path.
path_scale - Escala do Path.
path_speed - Velocidade do Path.

Classe das Timelines
timeline_index - Indice da Timeline (o nome dela).
timeline_position - Posição da Timeline.
timeline_speed - Velocidade da Timeline.

Classe dos Sprites
sprite_height - Altura do Sprite.
sprite_index - Indice do Sprite (o nome dele).
sprite_width - Largura do Sprite.
sprite_xoffset - Offset X do Sprite. Isso serve para quando se vai criar um novo sprite mas ele está mal localizado na imagem de origem, então você desloca o ponto inicial X dele. (Se você viu as Aulas do Reddragon ja entendeu.)
sprite_yoffset - O mesmo que a variavel acima, mas para o ponto Y.

Classe das Coordenadas
(X, Y e Direction)
x - Variavel baseada no Plano Cartesiano. X é um valor que quando Positivo move um gráfico para a direita ( -> ), e quando Negativo para a Esquerda ( <- ). No GM funciona da mesma forma.
y - Variavel baseado no Plano Cartesiano. No entando o Y do Game Maker é INVERTIDO. No Plano Cartesiano um valor positivo de Y direciona o gráfico para cima, e o negativo para baixo. No Game Maker é o inverso. Para Baixo é Positivo, e para Cima é Negativo.
direction - Direção coordenada por ângulo. Varia de 0º a 360º graus. Onde 0 é direita. Logo: 180 é esquerda, 270 é baixo e 90 é cima. (se não me engano).
xstart - Posição Inicial X
ystart - Posição Inicial Y
xprevious - Posição Anterior X
yprevious - Posição Anterior Y

Checagem de Colisões.
bbox_bottom - Bounce Box: Parte de baixo da caixa de colisão
bbox_left - Bounce Box: Parte esquerda da caixa de colisão
bbox_right - Bounce Box: Parte direita da caixa de colisão
bbox_top - Bounce Box: Para do topo da caixa de colisão

Propriedades de Objetos.
id - Id do objeto
depth - Profundidade. É a coordenada Z no 2D. Alterando o valor não se muda apenas a posição que o objeto é criado ('se por cima' ou 'por baixo' de outros), como também a sua prioridade.
persistent - Define se o Objeto é ou não Persistente. Use TRUE ou FALSE.
solid - Define se o Objeto é ou não Sólido. Use TRUE ou FALSE. (obs: um objeto não-sólido é incapaz de criar colisões)
visible - Define se o Objeto é ou não Visível. Use TRUE ou FALSE. (obs: um objeto invisível é tratado como não existente, exceto pelas suas variaveis. Para tornar um Objeto Invisivel, use image_alpha=0, e não esse código)
mask_index - Indice da Mascara (Mask) do Objeto.
object_index - Indice do Objeto, o nome dele.

Outras Variaveis:
alarm - Alarme. Serve para executar determinada ação durante um certo tempo em steps(denominado 'ugm' na Aula 1).
friction - Fricção
gravity - Gravidade
gravity_direction - Direção da Gravidade.
speed - Velocidade (Geral).
hspeed - Velocidade Horizontal.
vspeed - Velocidade Vertical.

Essas foram todas as Built-in Variables e o seus usos.
Não testamos uma por uma, portanto se alguma estiver com a descrição errada nos avise.

--------------------------------------

Lista das Constants mais Usadas

Código:


ef_cloud - Efeito "Nuvem"*
ef_ellipse - Efeito "Elipse"*
ef_explosion - Efeito "Explosão"*
ef_firework - Efeito "Fogos de Artifício"*
ef_flare - Efeito "Tocha"*(?)
ef_rain - Efeito "Chuva"*
ef_ring - Efeito "Anel"*
ef_smoke - Efeito "Fumaça"*
ef_smokeup - Efeito "Fumaça Subindo"*
ef_snow - Efeito "Neve"*
ef_spark - Efeito "Brilho"*
ef_star - Efeito "Estrela"*

fa_right - Orienta o Texto a Direita**
fa_center - Orienta o Texto no Centro**
fa_left - Orienta o Texto a Esquerda**
fa_middle - Orienta o Texto no Meio**
fa_top - Orienta o Texto para Cima**
fa_bottom - Orienta o Texto para Baixo**

pi - Valor de PI na matemática. (3,1415...)
global - Designa uma variavel como GLOBAL
local - Designa uma variavel como LOCAL (não é necessário usar, exceto quando se usa o comando "var")
noone - Nenhum. (Literalmente).
other - Outro.
self - O Mesmo. (sí mesmo).
true - Designa uma variavel como VERDADEIRA (valor binario 1)
false - Designa uma variavel como FALSA (valor binário 0)

mb_any - Qualquer botão do Mouse
mb_none - Nenhum Botão do Mouse
mb_left - Botão Esquerdo do Mouse
mb_middle - Botão do Meio do Mouse
mb_right Botão Direito do Mouse

vk_add - ???
vk_alt - Tecla Alt
vk_anykey - Qualquer Tecla.
vk_backspace - Tecla Backspace
vk_control - Tecla Crtl
vk_decimal - Tecla Decimal ( . )
vk_delete - Tecla Delete
vk_divide - Tecla Divisão ( / )
vk_down - Tecla Seta para Baixo
vk_end - Tecla End
vk_enter - Tecla Enter
vk_escape - Tecla Escape (Esc)
vk_f1 - Tecla F1
vk_f2 - Tecla F2
vk_f3 - Tecla F3
vk_f4 - Tecla F4
vk_f5 - Tecla F5
vk_f6 - Tecla F6
vk_f7 - Tecla F7
vk_f8 - Tecla F8
vk_f9 - Tecla F9
vk_f10 - Tecla F10
vk_f11 - Tecla F11
vk_f12 - Tecla F12
vk_home - Tecla Home
vk_insert  - Tecla Insert
vk_lalt - Tecla Alt Esquerdo***
vk_lcontrol - Tecla Ctrl Esquerdo***
vk_left - Tecla Seta para Esquerda
vk_lshift - Tecla Shift Esquerdo***
vk_multiply - Tecla Multiplicação (*)
vk_nokey - Nenhuma Tecla.
vk_numpad0 - Teclado Numérico: Tecla 0
vk_numpad1 - Teclado Numérico: Tecla 1
vk_numpad2 - Teclado Numérico: Tecla 2
vk_numpad3 - Teclado Numérico: Tecla 3
vk_numpad4 - Teclado Numérico: Tecla 4
vk_numpad5 - Teclado Numérico: Tecla 5
vk_numpad6 - Teclado Numérico: Tecla 6
vk_numpad7 - Teclado Numérico: Tecla 7
vk_numpad8 - Teclado Numérico: Tecla 8
vk_numpad9 - Teclado Numérico: Tecla 9
vk_pagedown - Tecla Pagedown
vk_pageup - Tecla Pageup
vk_pause  - Tecla Pause
vk_printscreen  - Tecla Printscreen
vk_ralt - Tecla Alt Direito***
vk_rcontrol - Tecla Crtl Direito***
vk_return  - Tecla enter
vk_right - Tecla Seta para Direita
vk_rshift -  - Tecla Shift Direito***
vk_shift - Tecla Shift
vk_space - Tecla Espaço
vk_subtract - Tecla Subtrair
vk_tab  - Tecla TAB
vk_up - Tecla Seta para Cima
*São expressões de effect_create_above ou effect_create_below
**São expressões de Draw. draw_set_vallign ou draw_set_hallign.
***Deve ser usado com keyboard_check_direct

É isso galera, nessa aula ficamos por aqui.

Próximo Tópico: Aula 2: Extra 2 - Lista e Explicação das Built-in Functions mais Usadas.


------------------------------------------
O Curso:
° - Aula 1 (Parte 1) - Entendendo o Funcionamento do GML (O Básico)
° - Aula 1 (Parte 2) - Entendendo o Funcionamento do GML (As Estruturas do GML)
° - Aula 2 - Variáveis Locais, Globais, Arrays e Built-in Variables
° - Aula 3 - As Declarações IF, IF/ELSE e SWITCH
° - Aula 4 - A Declaração WITH
° - Aula 5 - A Declaração FOR

Aulas Complementares e Extras (Descontinuadas, pois já existe a Documentação Traduzida do Game Maker no fórum):

° - Extra 1 - Lista Completa e Explicada de Built-in Variables e Visão Geral sobre Constants
° - Extra 2 - Lista Detalhada e Explicada das Built-in Functions mais usadas em GML

___________

"Não deixe para amanhã o que se pode fazer hoje"

Links úteis:
Índice de Tutoriais
Manual online do GMS

Markituh

Ranking : Sem avaliações
Número de Mensagens : 2183
Data de inscrição : 11/10/2009
Reputação : 106
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Qualidade Re: [Curso de GML] Aula 2 - Extra 1: Lista Completa e Explicada de Built-in Variables e Visão Geral sobre Constants

Mensagem por correiajoao em Dom 19 Dez 2010, 20:07

muito boa essa aula!

tenho de lhe dar os parabens!

(e claro obrigado por esclarecer-me akela pequena dúvida) Razz

correiajoao

Número de Mensagens : 353
Idade : 20
Data de inscrição : 05/06/2010
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Qualidade Re: [Curso de GML] Aula 2 - Extra 1: Lista Completa e Explicada de Built-in Variables e Visão Geral sobre Constants

Mensagem por Markituh em Dom 19 Dez 2010, 21:15

Happy Que bom Very Happy Espero que tenha decorado tudo, hein! Happy

___________

"Não deixe para amanhã o que se pode fazer hoje"

Links úteis:
Índice de Tutoriais
Manual online do GMS

Markituh

Ranking : Sem avaliações
Número de Mensagens : 2183
Data de inscrição : 11/10/2009
Reputação : 106
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Qualidade Re: [Curso de GML] Aula 2 - Extra 1: Lista Completa e Explicada de Built-in Variables e Visão Geral sobre Constants

Mensagem por zerromax em Seg 14 Mar 2011, 15:25

mt boa essa aula Smile

parabens ao seu trabalho e o do dharrison (eh isso???)

zerromax

Número de Mensagens : 7
Idade : 20
Data de inscrição : 05/03/2011
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Qualidade Re: [Curso de GML] Aula 2 - Extra 1: Lista Completa e Explicada de Built-in Variables e Visão Geral sobre Constants

Mensagem por Godsil4 em Seg 14 Mar 2011, 17:03

muito bom cara
sei q isso da mto trabalho de
explicar mas o seu tutorial ficou bem
elaborado simples explicativo e organizado
e isso eh o mais importante em um tutorial,
independente do assunto Happy

voce foi bem criativo nessa aula, foi bem
objetivo e aplicado, por isso vo te dar
um ponto extra de reputação

Godsil4

Ranking : Nota B
Número de Mensagens : 474
Data de inscrição : 26/11/2010
Notas recebidas : B+A
Reputação : 23
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 1
   : 1

http://www.google.com.br

Voltar ao Topo Ir em baixo

Qualidade Re: [Curso de GML] Aula 2 - Extra 1: Lista Completa e Explicada de Built-in Variables e Visão Geral sobre Constants

Mensagem por Marley em Sex 21 Mar 2014, 20:30

Meus sinceros parabéns !
primeira aula que entendo aqui !
Só acho que deveria deixar o link das outras aulas somente nessa,
conforme for fazendo !

#iniciante

Marley

Número de Mensagens : 5
Data de inscrição : 19/03/2014
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Qualidade Re: [Curso de GML] Aula 2 - Extra 1: Lista Completa e Explicada de Built-in Variables e Visão Geral sobre Constants

Mensagem por Conteúdo patrocinado Hoje à(s) 13:27


Conteúdo patrocinado


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