INTRODUÇÃO AO GML... CÓDIGOS SIMPLES PARA QUEM NÃO CONHECE NADA

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

INTRODUÇÃO AO GML... CÓDIGOS SIMPLES PARA QUEM NÃO CONHECE NADA

Mensagem por Henrique_GJ em Sex 01 Jan 2010, 20:40

Para quem não sabe GML significa Linguagem do GameMaker,
O GameMaker tem uma linguagem de programação como todas as outras ex: pascal,delphi,c/c++/c# e etc...

clique aqui em baixo para continuar a ler o que é GML e como funciona (básico do básico)

Spoiler:
1 - O que é o GML.

GML significa Game Maker Language que é usado pelo próprio Game Maker nos códigos, ele é uma linguagem simplificada atingindo todas as necessidades para a construção de jogos 2d e um 3d muito limitado.

É uma linguagem padronizada com uma estrutura semelhante ao C++.



2 - Como uso?

Tudo o que você escrever (que seja em GML) será automaticamente executado pelo programa. Há funções e variáveis, que servem de ações no seu jogo, exemplo, se você colocar.

image_xscale=5

No evento Create, seu sprite atual do objeto irá esticar horizontalmente devido ao valor de sua variável, como o nome já diz, você pode escolher o valor para ela, variando-a, leia mais sobre variáveis de sprite.... LINK



3 - Estrutura.

A programação sempre utiliza uma checagem, ou seja, sempre acontece quando acontece algo (estranho, né?), mas enfim, se você quer aumentar sua pontuação, primeiro tem que haver uma coisa, exemplo, você pega um bônus, ou quando sua posição é tal ou etc.

Então dizemos que checamos algo, com a palavra if, veja no code:



If place_free(x, y+1){

// Desce

y+=1}

Vemos que há o if no começo, que significa “se”, então temos, o if como uma palavra de comando, e logo depois uma função, que checa , place free, é, lugar_livre, e dentro dos parênteses ficam os argumentos, que são valores que irão ser usados pela função, caso, irá ver se está livre na posição logo abaixo do objeto.

Logo no fim da primeira linha temos { que são as chaves, onde você colocará tudo o que acontecerá caso a afirmação seja ok, mas sempre deve ter finalizado com o } como no exemplo acima, caso contrário o Game Maker acusará erro.

Depois pulamos uma linha temos um comentário, que usamos // para começar o comentário, nele você pode escrever o que quiser, como um lembrete etc. Mas só irá ser comentário a linha onde está o //.

Ação, agora sim irá acontecer a coisa, no caso, quando a afirmação verdadeira, o objeto iria cair a velocidade um, isso não seria uma gravidade, só um teste.

Para houver uma colisão entre objetos, seria necessário que um deles seja sólido, um exemplo é uma colisão simples, contra o chão, em que o chão seria um objeto sólido, e não o personagem.


Como utilizar este tal gml ?


Vá na aba controls que você achará a figura de uma folha... Agora arraste-a no evento e clique nela para editar o codigo





Então Vamos começar !!!

Comando básicos:

if: Esse código serve para quando você for fazer alguma coisa, ou quando acontecer alguma coisa. EX:

CODE
if keyboard_check(vk_up)
room_goto(room2) //esse é um exemplo, quando a seta para cima for pressionada irá para a room2


var: Esse código serve para criar uma variável, veja:

CODE
var_(nome da variável)=true


score: Bom, acho que não é preciso dizer nada, esse código define a pontuação. Ex:

CODE
//aqui estamos inserindo 10 pontos
score+=10
//aqui diminuindo 10 pontos
score-=10


lives: É a mesma coisa de score, só que aqui são as vidas

CODE
//definir a vida.
lives=3
//ou se quizer, adcionar vidas
lives+=1
//diminuir vidas
lives-=1



false: Esse código é como uma execusão falsa, exemplo:

CODE
//Aqui será pressionada a seta para direita, então a var_parado será falsa e a var_direita será verdadeira
if keyboard_check(vk_right) and not keyboard_check(vk_left)
{
var_parado = false
var_direita = true
}


gravity: O nome já diz, esse comando define a gravidade, veja um exemplo:

CODE
gravity = 0.75


sprite_index: Esse comando mostra uma sprite, veja um exemplo:

CODE
// esse é apenas um exemplo, não tente usar esse código
if keyboard_check(vk_down)
sprite_index = spr_player


instance_destroy(): Esse comando é para destruir um objeto, veja um pequeno exemplo:

CODE
// caso a seta para esquerda seja pressionada o objeto que está executando esse código será destruído
if keyboard_check_pressed(vk_left)
instace_destroy();


instance_create: Comando utilizado para criar uma instância (objeto)

image_speed: Controle da velocidade da imagem, veja:

CODE
image_speed=0.25


Comandos do teclado:

Setas:


CODE
keyboard_check(vk_up)// Seta para cima
keyboard_check(vk_down)// Seta para baixo
keyboard_check(vk_left)// Seta para a esquerda
keyboard_check(vk_right)// Seta para a direita
keyboard_check(vk_space)// Tecla barra de espaços


Letras:

CODE
(keyboard_check(ord('X'))// para você mudar as teclas apenas mude a letra X para a tecla que você deseja


Outros:

hspeed*=-1: esse código serve para inverter uma velocidade. Exemplo:

CODE
//crie um evento colison do player com a parede e escreva o comando citado acima.


draw_text: Escreve um texto, veja um exemplo:

CODE
// fica escrito time na room
draw_text(280,25,time);


view_xview e view_yview: Esse código serve para uma sprite seguir a tela. Ex:

CODE
// o objeto que está executando esse código irá seguir a room.
view_xview+100
view_yview+100


Já disse muitos comandos, agora vamos criar alguns códigos:

Contato com o chão:

CODE
// esse código é para o contato do player com o chão, a velocidade muda para 0
move_contact_solid(direction,Cool
vspeed = 0


CODE
//código bem simples, crie um evento colision de um inimigo com um bloco.
if sprite_index=spr_inimigo_esquerda
{
sprite_index=spr_inimigo_direita;
}
else
{
sprite_index=spr_inimigo_esquerda;
}


CODE
// muda para a room0
room_goto(room0)




espero ter ajudado What a Face

Henrique_GJ

Número de Mensagens : 1344
Idade : 19
Data de inscrição : 30/12/2009
Reputação : 4
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

http://sitedosjogos.forumeiros.com

Voltar ao Topo Ir em baixo

Re: INTRODUÇÃO AO GML... CÓDIGOS SIMPLES PARA QUEM NÃO CONHECE NADA

Mensagem por jp_away em Sex 01 Jan 2010, 20:46

muito bom cara, eu jáh fiz um tuto desse aki xD

dica: invés de escrever "CODE" usa isso que tem pra facilitar nossa vida :

jp_away

Ranking : Nota D
Número de Mensagens : 859
Data de inscrição : 05/09/2009
Notas recebidas : D
Reputação : 6
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

http://www.jpgamesweb.xpg.com.br/

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