Funções

Nesta página encontram-se todas funções e variáveis pré-definidas utilizadas pelos tutoriais do Tutoriais para Game Maker. Para encontrar o que deseja utilize o comando CTRL + F.


all

Pode ser usada em algumas funções que pedem para especificar o bjeto contra o qual será feita uma checagem. Neste caso, ela indica que a checagem deve ser feita contra qualquer objeto.


alarm[n]

Informações sobre esta função no Tutorial sobre Alarmes e Temporizadores.


collision_line(x1y1x2y2objprecnotme)

x1, y1 - Coordenada Inicial
x2, y2 - Coordenada Final
obj - Objeto
prec - Precisão (true para colisão precisa / false para colisão comum)
notme - Define se irá incluir o objeto que está usando a função. (true para exluir / false para incluir)

Traça uma reta invisível de (x1, y1) a (x2, y2) e retorna a id do objeto especificado que estiver colidindo com ela.

Observação: É possível usar o resultado dessa função como true ou false já que o Game Maker considera qualquer número positivo como true (id das instâncias sempre são números positivos) e qualquer número negativo como sendo false (quando nenhuma instância é retornada o valor -4, que é o mesmo que noone, é retornado).


collision_point(xyobjprecnotme)

xy - Coordenada
obj - Objeto
prec - Precisão (true para colisão precisa / false para colisão comum)
notme - Define se irá incluir o objeto que está usando a função. (true para exluir / false para incluir)

Retorna a id do objeto que estiver colidindo com o ponto especificado.

Observação: É possível usar o resultado dessa função como true ou false já que o Game Maker considera qualquer número positivo como true (id das instâncias sempre são números positivos) e qualquer número negativo como sendo false (quando nenhuma instância é retornada o valor -4, que é o mesmo que noone, é retornado).


direction

Modifica a direção do movimento caso o objeto esteja utilizando uma das funções: speed, hspeed ou vspeed.

Dica: Fazendo com que a direction aumente ou diminua gradualmente fará que o objeto realize um movimento ciclíco, que pode ser usada para "dar vida" aos inimigos.

Exemplo: direction += 5 faz o objeto realizar um movimento circular em 72 steps pois 360º/5º por step = 72 steps.


distance_to_point(xy)

Calcula a distância do objeto até a coordenada especificada.


switch
repeat
do - until
for
while

Informações no Tutorial sobre Funções Executivas.


draw_clear_alpha(coralpha)

Limpa a surface com a cor e alpha escolhidos. A lista de cores com seus respectivos códigos pode ser vista nesta página.


game_restart()

Reinicia o jogo.


global
var
with

Informações no Tutorial sobre Variáveis.


image_angle

Define o ângulo do sprite. O valor é definido em graus(º) e varia de 0 a 360, sendo 0º = dreita, 90º = cima, 180º = esquerda, 270º = baixo.

Dica: Por padrão todos sprites têm image_angle = 0, portanto o ideal é que todos os sprites sejam desenhados para a direita, para que, no caso de haver a necessidade de rotacioná-lo, não seja necessário fazer uma correção do ângulo.


image_speed

Define a velocidade de animação do sprite.

Exemplo: Se considerarmos que o sprite do seu personagem possui 30 frames e a room_speed seja 60. Neste caso, se image_speed for igual a 1, todos sprites serão executados duas vezes no intervalo de 1 segundo.

Observação: Valores menores que 1 fazem um mesmo frames ser usado mais de uma vez, enquanto valores maiores que 1 fazem o Game Maker pular alguns frames.


image_xscale

Torna o objeto mais largo ou mais fino, de acordo com a proporção escolhida. Se uma proporção negativa for usada, a imagem será espelhada de um lado para o outro.


image_yscale

Torna o objeto mais alto ou mais baixo, de acordo com a proporção escolhida. Se uma proporção negativa for usada, a imagem será espelhada de cima para baixo.


instance_create(x, y, obj)

Cria uma instância do objeto indicado em obj na coordenada (x, y).

Exemplo: instance_create(x + 30, y, obj_tiro) cria uma instância de Tiro a 30 pixels de distância.


instance_activate_region(lefttopwidthheightinsidenotme)
instance_deactivate_region(lefttopwidthheightinsidenotme)

Informações no Tutorial sobre Como desativar objetos fora da view.


instance_destroy()

Destrói a instância.


irandom(n)

Escolhe um número inteiro de 0 a n.


keyboard_check

Informações no Tutorial sobre Funções Interativas.


lengthdir_x(n, dir)

Retorna o valor da projeção sobre o eixo x de uma reta de tamanho n com ângulo dir.


lengthdir_y(n, dir)

Retorna o valor da projeção sobre o eixo y  de uma reta de tamanho n com ângulo dir.


motion_set(ângulovelocidade)

Determina uma direção e uma velocidade para o objeto.


noone

É o resultado obtido quando uma função não retorna o valor de nenhuma instância.


place_meeting(xyobj)

Retorna: true / false

Como funciona: Verifica se a instância colide com o objeto especificado em obj. Neste caso, x e y são tratados como o objeto inteiro, não só sua origem.

Exemplo: place_meeting(x, y + 1, obj_parede) verifica se há uma Parede logo abaixo da instância.


point_direction(x1y1x2y3)

Traça uma reta invísível de (x1, y1) a (x2, y2) e retorna o ângulo em graus (º) formado com o eixo positivo de x.

Exemplo: image_anglepoint_direction(xymouse_xmouse_y) faz o sprite rotacionar de acordo com a posição do cursor (seta do mouse).


room_restart()

Reinicia a room onde o código foi utilizado.


room_speed

Define a velocidade da room. O valor é contabilizado como frames/steps por segundo.

Exemplo: room_speed = 60 modifica a velocidade da room para 60 frames/steps por segundo.

Dica: O jogo roda com melhor aparência e fluidez a 60 frames/segundo do que 30.


show_message()

Mostra mensagem escolhida pelo usuário. Esta função é útil para testar se alguma variável/função está se comportando como esperado. Por exemplo, se eu quero que a variável "porta" seja igual a true quando estiver sobre um botão posso utilizar if keyboard_check_pressed(vk_space) {show_message(porta)} e aparecerá uma mensagem dizendo o valor da variável quando pressionar a barra de espaço.


sprite_index

Define um sprite(imagem) para o objeto de acordo com a id(nome) do arquivo na pasta Sprites.

Dica: Utilize prefixo ou sufixos para diferenciar sprites de outros recursos, como por exemplo nomear um sprite de spr_jogador ou img_jogador ao invés de jogador.


surface_resize(surface, wh)
surface_copy(surface_destino, xy, surface_fonte)
surface_copy_part(surface_destino, xy, surface_fonte, x2y2wh)
surface_get_height(surface)
surface_get_width(surface)
surface_getpixel(surface, xy)
surface_getpixel_ext(surface, xy)
surface_save(surface, arquivo)
surface_save_part(surface, arquivo, xywh)
draw_surface(surface, xy)
surface_create(w, h)
surface_exists(surface)
surface_reset_target()
surface_set_target(surface)

Informações no Tutorial sobre Surfaces.


view_hview[n]

Retorna o valor da altura (height) da view; n é a numeração da view utilizada.


view_wview[n]

Retorna o valor da largura (width) da view; n é a numeração da view utilizada.


view_xview[n]

Retorna a posição x do ponto (0, 0) da view, que é o vértice superior esquerdo, nas coordenadas da roomn é a numeração da view utilizada.


view_yview[n]

Retorna a posição y do ponto (0, 0) da view, que é o vértice superior esquerdo, nas coordenadas da roomn é a numeração da view utilizada.