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(3, 0.5)
obj_dinossauro
Destroy Event
scr_morte(25, 10)
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