14 de novembro de 2014

Como usar Scripts

Scripts são ferramentas poderosas que podem ser utilizadas para agilizar e otimizar a programação de jogos no Game Maker. É importante saber usar todo seu potencial para ter um aproveitamento ainda melhor. Este tutorial tem como objetivo explicar o que são Scripts e diferentes maneiras de utilizá-los.

Scripts podem ser usados para criar código genéricos, que podem servir em mais de um objeto, e para tornar um código específico mais legível. Para usá-los basta "chamá-los", da mesma maneira que é feito com as funções do Game Maker. Para criar um script basta ir na pasta de Scripts e selecionar Create Script.

scr_morte

///scr_morte(level, tamanho)

level = argument0
tamanho = argument1

obj_jogador.experiencia += level * tamanho

obj_jogador.dinheiro += level + tamanho

Neste exemplo dei o nome do meu script de scr_morte e utilizei as três barras (///) para criar uma descrição da função (que aparece no recurso de autocompletar quando chamamos uma função), sendo obrigatório que primeiro venha o nome do script e depois, dentro dos parênteses e na ordem correta, os argumentos que serão utilizados. Em seguida defini os códigos da minha função. Para utilizar o Script basta chamá-lo em algum evento, por exemplo:

obj_dragao

Destroy Event

scr_morte(10, 2)

obj_duende

Destroy Event

scr_morte(30.5)

obj_dinossauro

Destroy Event

scr_morte(2510)

Todos esses monstros darão sua própria quantidade de experiência e dinheiro, quando forem destruídos, baseado nos argumentos que defini quando chamei a função. Em códigos mais complexos a economia de tempo é enorme. Também podemos utilizar variáveis para definir os argumentos, para que o script seja acionado de diferentes maneiras. Exemplo:

Create Event

scr_vida(id)

Dessa maneira o scr_vida será exclusivo de cada instância, já que seu argumento é a id da mesma.

Dica:

Há uma funcionalidade que só é possível através de scripts; a troca de variável. Se quiséssemos acessar a variável "vida" no obj_jogador ao invés de "defesa" não poderíamos fazer isso:

if ataque > obj_jogador.defesa
{
   variavel = "vida"
}
else
{
   variavel = "defesa"
}

obj_jogador.variavel -= ataque

Provavelmente resultaria em erro, já que "" define uma string e não substituiria o nome da variável. Porém, isso é possível quando utilizamos scripts. Basta criar um script contendo "obj_jogador.argument0 -= ataque" e usar o código:

if ataque > obj_jogador.defesa
{
   variavel = "vida"
}
else
{
   variavel = "defesa"
}

scr_ataque(variavel)

Quando o script for chamado, argument0 será substituido pelo nome que demos à variável "variavel". Portanto acessaremos uma variável diferente dentro do obj_jogador, dependendo da situação.

Sugiro que façam alguns testes com scripts e aprendam o máximo que puderem. É uma das coisas que gostaria de ter aprendido já quando comecei a utilizar o Game Maker, pelo tempo que essa ferramenta nos faz economizar.

Nenhum comentário :

Postar um comentário