Documentação Game Maker 8 Português

Embed Size (px)

Citation preview

Criando Jogos com o Game MakerVerso 8 Portugus Traduzido por Israel Chaves de Oliveira Escrito por Mark Overmars

O que h de novoVerso 8.0 do Game Maker tem um grande de melhorias desde a verso 7.0. Abaixo as mudanas mais importantes so descritas. Incompatibilidades Telas de apresentao de texto j no mostra mais imagens. No entanto, telas de apresentao web foram adicionados para poder mostrar documentos html completos com imagens, etc. Um numero de modificaes foram em funes ligadas aos recursos sprite e plano de fundo. Isto foi feito devido ao fato de que o Game Maker usa um mecanismo completamente novo para esses recursos. Se seu jogo usa boa parte das chamadas de funes de recursos que abre e salva imagens com certeza muito recomendado usar a verso antiga 7.0 para esse jogo. Se voc usa pacotes de extenso, ento voc ter que reinstala-las. Algumas modificaes foram feitas ao mecanismo de timeline que pode levar a incompatibilidades. Em particular, atribuindo uma timeline e iniciando ela agora so coisas separadas. Um importante bug que foi resolvido nos evento collision em que executados duas vezes se dois objetos tem os eventos collision um com o outro. Alguns jogos no entanto podem ter dependido deste bug e, por isso, j no podem funcionar corretamente. Novidades O Game Maker agora por padro mostrado um pgina de Noticias quando ele iniciado. Aqui novas verses sero anunciadas, novos recursos sero indicados, h informaes sobre competies, e dicas e truque para design de jogos. Noticias so mostradas somente uma vez por dia. Na Edio Pro isto pode ser desligado. Voc sempre pode acessar as notcias atravs do menu Help e voc incentivado regularmente para checar noticias com informaes importantes sobre o Game Maker. Tutorial O Game Maker agora vem embutido por padro tutorial para iniciantes. Ele aparece no painel direita da tela. Usurio experientes podem indicar que eles no querem visualizar o tutorial jamais. Para ajustar o painel de tutorial, Game Maker agora agora iniciado por padro em modo tela cheia. Ele no entanto lembra suas configuraes ento modificando isso uma vez para o modo de janela ir neste momento iniciar neste modo.

Alpha-blended backgrounds e sprites A nova verso do Game Maker usa backgrounds e sprites com canais alfa (transparncia). Isto torna possvel criar e usar sprites muito mais agradveis. Arquivos PNG com essas informaes agora so corretamente carregado. O Editor de Sprite e imagem foi completamente reescrito, incluindo muitas novas opes de desenho e efeitos. Um novo seletor de arquivo sprite foi adicionado que mostra as animaes em sprites. Tambm temos um pacote com um grande nmero de sprites de alta qualidade no Game Maker que voc pode usar gratuitamente em seus jogos. Checagem de coliso melhorado Voc agora tem mais opes de verificao de coliso. Por exemplo, voc pode indicar que as colises deveriam ser fechados com um disco e voc ter melhor controle sobre a caixa delimitadora(bounding box). A sub-imagem do sprite pode ter uma mscara combinada e voc pode definir a dependncia em relao ao valor de transparncia alfa. Telas de Apresentao Uma nova funo splash_show_web (url, delay), foi acrescentada que pode ser usado para mostrar pginas da web como telas. Voc tambm pode usar pginas HTML local para isso. Isto permite um mecanismo poderoso como exemplo criar pginas de ajuda. Um boto de fechar adicionado s telas. Tambm uma srie de novas aes foram adicionados para mostrar os diferentes tipos de pginas de abertura e para alterar as configuraes de abertura. (As antigas aes Show Video e Webpage foram removidos visto que novas aes foram includas. Eles vo funcionar ainda em jogos antigos.) Eventos Trigger Um novo tipo de evento, foi introduzido: os eventos Trigger. Com os Eventos Trigger voc mesmo pode especificar. Voc d-lhes um nome e uma condio, escrito em GML. Aps isso, eles podem ser usados em todos os objetos, assim como outros eventos. Com isso voc pode estender facilmente a funcionalidade do Game Maker. Time lines As timelines foram estendidas. A forma de propriedade possui botes adicionais como por exemplo, espalhar os momentos e excluir ou duplicar as faixas de momentos. Timelines agora podem ser pausadas e reiniciadas e podem mesmo ser tocadas para trs. Tambm podem repetir automaticamente agora. Importando e exportanto recursos A possibilidade de fundir os jogos foi substitudo por um sistema muito mais vasto de importao e exportao de recursos. O usurio pode indicar quais recursos exportar para um arquivo (. GMRES). Em seguida, eles podem ser importados em um jogo diferente. Em princpio, s pode existir um recurso para cada nome. Quando h um conflito de nome ao importar o usurio pode especificar para manter o original, substitui de qualquer forma, ficar com o que foi alterado recentemente, ou manter os dois (no recomendado). Para ser capaz de fazer a terceira opo, todos os recursos agora seguiro quando eles forem modificados. Script e editor de cdigo reescritos

O script e editor de cdigo embutido foram totalmente reescritos, tornando-se muito mais fcil de escrever cdigo. Por exemplo, h nome de funo pop-up completa, ajudar de argumentao, a correspondncia de parnteses, a codificao de cor melhorada, os nmeros de linhas, preciso de verificao de erros, trechos de cdigo, e uma sofisticada funcionalidade localizar e substituir. Velocidade Aumentada A velocidade dos jogos que usa cdigo foi consideravelmente melhorado. A acelerao de at 100% s vezes possvel. Tambm o tempo de carregamento dos jogos melhorou consideravelmente. Tambm, quando executando um jogo stand-alone. Outras Mudanas H vrias outras mudanas e adies. Aqui est algumas das mais importantes. Agora voc pode usar cones de alta qualidade para seus jogos. Constantes agora pode ser definida em sua prpria forma (e no atravs do Global Game Settings). Como resultado, eles podem permanecer visvel enquanto voc estiver por exemplo escrevendo scripts. Voc tambm pode carregar e salvar as constantes de arquivos de texto. Tambm esto includos os arquivos que no so mostrados no Global Game Settings, mas em sua prpria forma. Muitas pequenas melhorias visuais. Adicionada a funo random_range (x1, x2), irandom (x), e irandom_range (x1, x2). Os ltimos do resultados inteiros e pode incluir x ou x2. Adicionado funes mouse_wheel_up e mouse_wheel_down. Adicionada uma funo set_application_title (ttulo) para definir o ttulo da aplicao (que mostrado na barra de tarefas). Adicionada a funo file_text_eoln () (Checa se chegou ao final da linha). Adicionado read-only varivel debug_mode. Existe agora uma configurao de jogo para no permitir protees de tela ou opes de consumo de energia (sleep, Hybernate), enquanto o Jogo estiver sendo executado (padro como no permitir). Funes adicionadas disk_size (unidade) e disk_free (unidade) e um gamemaker_version varivel. Mensagens de erro Runtime melhores que indica a posio do erro. Agora voc pode alterar a localizao dos arquivos temporrios, consulte o documento no tpico Preferncias. ... Bugs Corrigidos Os seguintes bugs foram corrigidos. Uma srie de outros bugs menores foram corrigidos tambm. Uma mensagem de erro ao iniciar o Maker no Vista com Active Controle do Usurio removido. Corrigiu um bug que ao usar Alt muitos campos em formulrios tornou-se invisvel no Vista. Corrigido um bug com dicas de aes no mostrados em objeto e os formulrios da

linha do tempo. Ao abrir um jogo ou iniciar um novo, para todos os recursos modificados nas janelas abertas uma pergunta de confirmao para salvar feita. Corrigido um (tipo de) erro com a preciso de operadores de comparao no cdigo. Resolvido bug com um plano de fundo ruim para o campo Applies To no editor de cdigo. Criando um autnomo agora verifica corretamente se existem rooms. Substitudos todas as combinaes Ctrl + Alt por Shift + Ctrl porque algumas combinaes so importantes para o teclado alemo. Corrigido tambm o atalho para a criao de sprites. Nos modos simples, atalhos para os recursos escondidos e itens de menu agora esto desativados. Tambm no menu Scripts est escondido. Corrigiu um bug na funo window_get_color (). Aumentou o limite para o nmero de vrtices em primitivas de desenho 3D para os modelos 1000 a 32000. Corrigiu um bug em ignorar z-valor para os vrtices do modelo. Corrigiu os eventos Outside View e Boundary View. Jogo ser executado (com aviso) quando no h nenhuma placa de som habilitada. Quando a janela do jogo perde o foco, eventos io como teclas so apagadas. Corrigida e melhorada os relatrios de erro para o cdigo de criao de rooms e instncias nas rooms. room_tile_add e room_tile_add_ext agora corretamente definir a cor de mistura para branco e retornar o ndice do tile correto. Agora configurar corretamente o ttulo do aplicativo para o nome de arquivo. Corrigido um bug no draw_line_width_color quando o comprimento 0. Tiles com fatores de escala negativas so agora corretamente desenhado. Mudou a leitura e escrita de nmeros reais em arquivos de texto. Agora o separador decimal sempre utiliza um ponto. No entanto, ao ler, tanto um ponto ou vrgula so aceitos. Um grupo de recursos que est vazia agora ter o cone correto de pasta fechada. Resolvido o problema com a piscada da rvore de recursos. Funes de string e string_format no falham quando o nmero muito grande e eles vo retornar o string ERROR. Trajetos longos so agora corretamente elaborado com draw_path. Contrao da rvore de recursos agora funciona corretamente. Em uma condio se, um valor de 0,5 agora tratado como verdade. Resolvido um bug que algumas vezes ocorreu quando pressionar a tecla ~. Funo sign () agora retorna corretamente 0 quando o argumento 0. No editor do caminho, quando se escolhe uma room, clicar fora do menu j no limpa a room. Ligeiramente ampliada a forma de depurao para mostrar todos os cones da barra de ferramentas. Tambm feito o visualizador de grade escala de colunas quando o formulrio redimensionado. Corrigiu um bug que pode causar um acidente quando o redimensionamento da janela do jogo a altura 0. Resolvido um bug no ds_grid_add / multiply / set_grid_region. Chamadas para scripts e funes de extenso agora retornar um valor de 0 quando no atribuem um valor de retorno a se mesmo.

Resolvido um bug srio em que os eventos de coliso quando executado duas vezes quando dois objetos tm eventos de coliso com o outro. Resolvido um bug no draw_text_ext com linhas em branco (mltiplos #) e um problema com o desenho que contm seqncias de CR-LF pares (quando se usa strings de vrias linhas no cdigo). Arquivos somente leitura podem agora ser usados como arquivos includos sem erros.

Usando o Game MakerGame Maker um programa fcil de usar para criao de seus prprios jogos de computador. Esta seo do arquivo de ajuda d-lhe todas as informaes que voc precisa para criar seus primeiros jogos. As sees sero abordados temas mais avanados, como poltica e distribuio do seu jogo, e a linguagem de programao GML embutida que amplia consideravelmente as possibilidades.

Ento voc quer criar seu prprio jogo de computadorJogar jogos de computador divertido. Mas realmente mais divertido projetar seus jogos de computador e deixar que outras pessoas joguem. No passado, a criao de jogos de computador no foi fcil. Jogos de computador comercial que voc compra hoje em dia tipicamente tomam um ou dois anos de desenvolvimento com equipes de qualquer lugar entre 10 a 50 pessoas. Oramentos chegam facilmente a milhes de dlares. E todas essas pessoas so altamente experientes: programadores, designers de arte, tcnicos de som, etc Mas o Game Maker mudou isso. Com o Game Maker voc pode criar seus prprios jogos de computador rapidamente sem a necessidade de aprender uma linguagem de programao. Claro que voc no deve esperar para criar o seu prprio Halo 4 ou Virtua Tennis dentro de algumas semanas. Mas isso tambm no necessrio. A alegria de jogar um jogo no est relacionado com a sua complexidade. Jogos mais simples, como Tetris, Bejeweled, Space Invaders, etc, so muito divertido de jogar e muito mais fceis de criar. Game Maker oferece uma interface intuitiva e fcil de usar drag-and-drop (arrasta-e-solta) que permite que voc crie seus prprios jogos muito rapidamente. Voc pode importar e criar imagens, sprites (imagens animadas) e sons e us-los. Game Maker fornecido com um conjunto considervel de recursos, para voc comear. Voc pode facilmente definir os objetos em seu jogo e indicar o seu comportamento, e voc pode definir agradveis rooms (nveis), em que o jogo ocorre. E se voc quer controle total h realmente uma linguagem de programao fcil da usar construda em Game Maker que lhe d total controle sobre o que est acontecendo em seu jogo. Game Maker centra-se em jogos bidimensionais. Portanto, no feita para criar mundos 3D como o Quake, embora haja algumas funcionalidades limitadas para grficos 3D. Mas no deixe isso te derrubar. Muitos jogos de grande utilizao de duas tecnologias sprite bidimensionais, embora eles possam parecer muito tridimensional. E projetar jogos bidimensionais muito mais fcil e mais rpido. Game Maker vem em duas edies, a Edio Lite e a Edio Pro. A Edio Lite pode ser usado gratuitamente, mas limitado em sua funcionalidade e exibir mensagens pop-up. Voc pode contudo distribuir livremente os jogos que voc criar com ele, voc pode at vend-los se quiser. Veja o acordo de licenciamento fechado para obter mais detalhes. Est fortemente incentivado a atualizar a sua cpia do Game Maker para a verso Pro. Ir estender consideravelmente a funcionalidade do Game Maker e ele ir remover o logotipo

ao executar jogos. Tambm ir dar suporte ao desenvolvimento do Game Maker. Para obter mais informaes sobre a atualizao veja a pgina da Edio Pro. Este arquivo de ajuda ir dizer-lhe as coisas mais importantes que voc precisa saber sobre o Game Maker e como voc pode criar seus prprios jogos com ele. Por favor, compreenda que, mesmo com um programa como o Game Maker, projetando jogos de computador no est completamente ausente de esforos. H muitos aspectos que so importantes: o jogo, grficos, sons, interao com o usurio, etc. Inicie com exemplos simples e voc vai perceber que a criao de jogos muito divertido. Verifique tambm o web site http://www.yoyogames.com/ para vrios exemplos, tutoriais, idias e links para outros sites e fruns. E em breve voc vai se tornar um mestre fabricante de seus jogo. Divirta.

InstalaoVoc provavelmente j fez isso, mas se no, aqui est como instalar o Game Maker. Basta executar o programa gmaker80.exe. Siga as instrues na tela. Voc pode instalar o programa em qualquer lugar que quiser, mas o melhor seguir as sugestes padro determinadas. Quando a instalao estiver concluda, no menu Iniciar voc vai encontrar um novo grupo de programas onde voc pode iniciar o Game Maker e ler o arquivo de ajuda. O Game Maker tambm instala um nmero considervel de imagens, sprites (imagens animadas) e efeitos de som no computador, que pode ser utilizado gratuitamente em seus jogos. Alm disso, alguns jogos de exemplo so instalados. Todos estes podem ser encontrados em pastas dentro da localidade onde voc instalou o Game Maker. A primeira vez que voc executar o Game Maker perguntado se voc pretende executar o programa no modo simples ou avanado. Se voc no tiver usado um programa de criao de jogo antes e voc no um programador experiente, melhor usar o modo simples ( s selecionar No). No modo simples, menos opes so mostradas. Voc pode facilmente mudar para o modo avanado mais tarde, usando o item apropriado no menu Arquivo. Tambm ser mostrado a voc um tutorial no lado direito da janela. O tutorial vai ensinarlhe como criar rapidamente seu primeiro jogo. Ele ir gui-lo atravs dos passos fundamentais no uso do Game Maker. Se voc no tiver usado Game Maker antes fortemente aconselhado trilhar seu caminho atravs do tutorial. Voc pode sempre usar o tutorial mais tarde atravs do menu Ajuda. Requerimentos Qualquer computador que tenha menos de cinco anos deve ser capaz de executar o Game Maker, sem quaisquer problemas. Para ser mais preciso o Game Maker requer um PC razoavelmente moderno executando o Windows 2000, XP, Vista, 7, ou posterior. Um DirectX 8 (ou superior) comptivel com um placa grfica com pelo menos 32MB de memria necessria para a maioria dos jogos criados. Ela exige uma resoluo de tela mnima de 800x600 e 65000 (16-bit) cores (cor de preferncia completo). Tambm um DirectX 8 compativel com uma placa de som necessrio. Certifique-se de que tenha os drivers mais recentes instalados. Game Maker requer o DirectX verso 8.0 ou posterior para ser instalado em seu computador. (Voc pode baixar a nova verso do DirectX a partir do site da Microsoft em: http://www.microsoft.com/windows/directx/.) Quando desenhando e testando os jogos, os requisitos de memria so muito altos (pelo menos 128 MB e de preferncia mais, tambm dependendo do sistema operacional). Quando apenas para rodar jogos, os

requisitos de memria so menos graves e dependem muito do tipo de jogo.

Atualizando para a Edio ProGame Maker vem em duas edies, a Edio Lite e a Edio Pro. A Edio Lite destinada queles que do seus primeiros passos no caminho do desenvolvimento de jogos. Ele pode ser usado gratuitamente, mas limitado em sua funcionalidade. Tambm mostra um pop-up logo ao executar jogos e ir sempre lembrar de atualizar o programa. Quando voc estiver usando o Game Maker regularmente ser recomendado para atualiz-lo para a verso Pro. A verso Pro contm consideravelmente mais funcionalidades e no exibe quaisquer logotipos ou mensagens pop-up. Mais precisamente, a edio Pro tem as seguintes funcionalidades adicionais: Nenhum logotipo Game Maker exibido ao executar um jogo. Sem pop-ups regulares para lembrar de atualizar. Voc pode usar rotao, cor misturada e sprites translcidos. Existem opes adicionais no sprite e editores de imagem. H aes adicionais por exemplo CD de msica, rotao de texto, formas coloridas. Voc pode usar efeitos especiais de som e som posicional. Voc pode criar telas de apresentao, com filmes, imagens, pginas web, textos, etc. Existe um sistema de partculas para criar exploses, fogos de artifcio, fogo, chuva, e outros efeitos. Uma srie de funes avanadas de desenho esto disponveis, por exemplo, texto colorido e polgonos texturizados. possvel criar jogos 3D usando funes para grficos 3D. possvel criar jogos multiplayer que podem ser jogados em uma rede. Voc pode definir suas prprias transies de rooms. Voc pode usar as funes para criar, carregar e modificar recursos (sprites, fundos, etc), enquanto que o jogo est em execuo. H uma coleo de funes para criar e utilizar estruturas de dados. Existem funes para o planejamento do movimento. Voc fica com a possibilidade de incluir outros arquivos executveis no jogo que pode ser usado quando o jogo executado. A verso Pro pode ser facilmente estendido usando pacote de extenso. Estes podem ser feitos por todos e em geral deve ser fornecido gratuitamente. Trs pacotes de extenso sejam includas adicionar muitas transies de rooms, janelas de dilogo, e facilidades de impresso. Voc pode definir seus prprios disparador de eventos. Voc pode exportar e importar os recursos, o que torna mais fcil para colaborar os jogos. Atualizando a edio Lite para a verso Pro custa apenas 20 euros ou E.U. $ 25 (sujeito a alteraes). Esta uma nica taxa que, pelo menos, vlida para todas as verses 8.x do Game Maker. Quando voc estiver executando a edio Lite, sempre que voc iniciar o Game Maker o seguinte formulrio ser mostrado:

Voc pode usar este formulrio para fazer upgrade para a verso Pro. Existem vrias maneiras de fazer isso. A maneira mais fcil comprar a atualizao online. Para este fim pressione o boto de comprar o Pro Edition Online. Voc ser levado a uma pgina web onde voc pode fazer o seu pagamento seja por carto de crdito ou atravs do PayPal. O pagamento ser tratada pela empresa SoftWrap que o nosso processador de pagamentos autorizados. Depois de feito o pagamento do software ser imediatamente atualizado para a verso Pro, sem qualquer outra medida por sua parte. Cuidadosamente salve (e imprima) a confirmao que voc receber uma vez que contm a referncia de compra que voc pode precisar mais tarde, se voc deseja reinstalar o software. (Quando voc estiver executando o programa, voc tambm pode atualizar online, escolhendo Upgrade to Pro Edition no menu Ajuda.) Se voc comprou Game Maker antes (e, portanto, tm um cdigo de ativao ou uma referncia de compra anterior), pressione a tecla Enter Activation Code. Voc ser levado a uma pgina web onde voc pode inserir seu cdigo de ativao ou a sua referncia de compra do seu pagamento anterior. Aqui voc tambm pode recuperar sua licena se voc perdeu. Depois de preenchido o Maker corrigir as informaes do jogo ser atualizado para a verso Pro. Observe que voc deve ter uma conexo Internet para a ativao. (Quando voc estiver executando o programa, voc tambm pode atualizar on line, escolhendo Enter Activation Code no menu Ajuda.) Se voc no quiser atualizar para a verso Pro, nesta fase, pressione o boto Continuar Usando a Edio Lite.

Primeiros PassosCriar o seu primeiro jogo sempre um desafio. Mas se voc est disposto a colocar um

pouco de esforo nele, ele vai ser realmente fcil. Voc pode t-lo funcionando dentro de uma hora. Mesmo que seja realmente fcil de fazer jogos com Game Maker voc precisa compreender alguns dos conceitos bsicos. Para esse efeito voc fortemente recomendado a seguir o tutorial que aparece quando o Game Maker iniciado. Se voc removeu o tutorial sem querer, voc sempre pode torn-lo visvel novamente, escolhendo Tutorial no menu Ajuda. A Idia Global Antes de investigar as possibilidades de Game Maker bom ter uma sensao uma idia global antes do programa. Jogos criados com o Game Maker ocorrer em um ou mais rooms. (Os rooms so planos, no 3D, mas eles podem conter grfica aparncia 3D.) Nesses rooms voc pode colocar objetos, que podem ser definidos no programa. Objetos tpicos so as paredes, bolas movendo-se, o personagem principal, monstros, etc. Alguns objetos, como paredes, apenas ficam l e no fazer nada. Outros objetos, como o personagem principal, ir deslocar-se e reagir a interao do jogador (teclado, mouse e joystick) e um para o outro. Por exemplo, quando o personagem principal encontra um monstro que ele pode morrer. Os objetos so os ingredientes mais importantes dos jogos feitos com Game Maker, ento vamos falar um pouco mais sobre eles. Primeiramente, a maioria dos objetos precisam de alguma imagem para torn-los visveis no tela. Tais imagens so chamados de sprites. Um objeto muitas vezes no uma nica imagem, mas um conjunto de imagens que so exibidas uma aps a outra para criar uma animao. Desta forma, parece que o personagem anda, uma bola rotaciona, uma nave espacial explode, etc. Durante o jogo, a sprite de um determinado objeto pode mudar. (Assim o personagem pode parecer diferente quando se caminha para a esquerda ou para a direita.) Voc pode criar seus prprios sprites no Game Maker ou carreg-los a partir de arquivos (por exemplo, arquivos PNG ou GIF animado). Muitas Sprites vm junto com o Game Maker que voc pode usar gratuitamente em seus jogos. Certas coisas acontecero com os objetos. Tais acontecimentos so chamados de eventos. Os objetos podem ter determinadas aes quando os eventos acontecem. H um grande nmero de eventos diferentes que podem ocorrer e um grande nmero de aes diferentes que voc pode deixar seus objetos tomar. Por exemplo, existe um evento de criao quando o objeto criado. (Para ser mais preciso, quando uma instncia de um objeto criado pode haver vrias instncias do mesmo objeto.) Por exemplo, quando um objeto bola criado voc pode dar uma ao de movimento para que ela comece a se mover. Quando dois objetos se encontram, voc usa um evento de coliso. Nesse caso voc pode fazer a bola parar ou inverter direo. Voc tambm pode jogar um efeito de som. Para este fim Game Maker permite definir sons. Quando o jogador pressionar uma tecla no teclado existe um evento de teclado, e o objeto pode tomar uma ao apropriada, como se mover na direo indicada. Esperamos que voc tenha entendido. Para cada objeto de desenho, voc pode indicar aes para vrios eventos, definindo, desta forma o comportamento do objeto. Depois de ter definido os seus objetos, hora de definir as rooms em que eles vivero. As rooms podem ser utilizados para os nveis em seu jogo ou para sair para lugares diferentes. H aes para se deslocar de uma room para outra. Rooms, antes de tudo, tm um plano de fundo. Este pode ser uma simples cor ou uma imagem. Tais imagens de fundo podem ser criados no Game Maker ou voc pode carreg-los a partir de arquivos.

(O fundo pode fazer um monte de coisas, mas por enquanto, apenas a consider-lo como algo que faz com que as rooms tenham aparncia agradvel.) Em seguida, voc pode colocar os objetos na room. Voc pode colocar vrias instncias do mesmo objeto em um room. Assim, por exemplo, voc precisa definir apenas um objeto de parede e pode us-lo em muitos lugares. Voc pode tambm ter vrias instncias dos objetos como monstros, enquanto eles tm o mesmo comportamento. Agora voc est pronto para executar o jogo. A primeira room ser mostrada e objetos ganham vida por causa das aes de eventos de sua criao. Eles vo comear a reagir uns com os outros devido a aes em eventos de coliso e podem reagir com o jogador usando as aes de eventos de teclado ou mouse. Ento em resumo, as seguintes coisas (muitas vezes chamado) desempenham um papel crucial: objetos: quais so as entidades verdadeiras no jogo rooms: os lugares (nveis) em que os objetos vivem sprites: (animado) imagens que so usadas para representar os objetos sons: estes podem ser usados nos jogos, quer como efeito ou como msica de fundo backgrounds: as imagens usadas como plano de fundo para as rooms

H realmente um nmero de outros tipos de recursos: os caminhos, scripts, fontes e linhas de tempo. Estes so apenas importante para jogos mais complicados. Voc s vai v-los quando voc executar Game Maker no modo avanado. Eles sero tratados nos captulos mais avanados neste documento.

A interface de usurio geralQuando voc iniciar o Game Maker a seguinte tela ser mostrada. Observe que a tela, na realidade, mostra tambm algumas novidades Game Maker e o tutorial que pode ser visvel do lado direito.

(Na verdade, isto o que voc v quando executar o Game Maker no modo simples. No modo avanado um nmero de itens adicionais so mostradas.) esquerda, voc v os diferentes recursos acima mencionados: Sprites, Sounds, Backgrounds, Objects, Rooms e mais dois: Game Information and Global Game Settings. No topo, h o menu familiar e a barra de ferramentas. Neste captulo iremos descrever brevemente vrios itens de menu, botes, etc Nos prximos captulos discutiremos uma srie deles em detalhe. Observe que muitas coisas podem ser obtidos de diferentes formas: pela escolha de um comando do menu, clicando em um boto, ou clicando com o boto direito em um recurso. Menu File No menu file voc pode encontrar alguns dos comandos de costume para carregar e salvar arquivos, alm de uns outros especiais: New. Escolha este comando para iniciar a criao de um novo jogo. Se o jogo atual foi alterado ser perguntado se voc quer salv-lo. H tambm um boto da barra de ferramentas para isso. Open. Abre um arquivo de jogo. Arquivos Game Maker tm a extenso. GMK. Voc tambm pode abrir arquivos antigos. Gm6. (Se voc deseja abrir arquivos .GMD criados com a verso 5 do Game Maker voc deve selecionar o tipo de arquivo apropriado na parte inferior da janela. Estes podem ainda no funcionar corretamente na nova verso.) Existe um boto para este comando. Voc tambm pode abrir um jogo, arrastando o arquivo para a janela do Game Maker. Recent Files. Use este submenu para reabrir arquivos de jogo que voc abriu recentemente. Save. Salva o arquivo de projeto do jogo com o seu nome atual. Se nenhum nome foi especificado antes, ser pedido um novo nome. Voc s pode usar este comando quando o arquivo foi alterado. Novamente, h um boto da barra de

ferramentas para isso. Save As. Salva o arquivo de projeto do jogo com um nome diferente. Voc est convidado para um novo nome. Create Executable. Uma vez que seu jogo est pronto provavelmente voc vai querer dar aos outros para jogar. Utilizando este comando voc pode criar uma verso autnoma de seu jogo. Isto simplesmente um executvel que voc pode dar a outras pessoas para executar. Advanced Mode. Ao clicar sobre este comando o Game Maker ir alternar entre o modo simples e avanado. No modo avanado, comandos e recursos adicionais estaro disponveis. Exit. Provavelmente bvio. Pressione para sair do Game Maker. Se voc alterou o jogo atual voc ser perguntado se voc quer salv-lo.

Menu Edit O menu de edio contm uma srie de comandos que se relacionam com o recurso selecionado (objeto, Sprite, som, etc.) Dependendo do tipo de recurso alguns dos comandos podem no ser visveis. Insert resource. Insere uma nova instncia do tipo de recurso atualmente selecionado antes do atual. Uma janela ser aberta na qual voc pode alterar as propriedades do recurso. Isso ser tratado em detalhe nos captulos seguintes. Duplicate. Faz uma cpia do recurso atual e adicion-o. Uma janela ser aberta na qual voc pode alterar o recurso. Delete. Exclui o recurso seleccionado (ou grupo de recursos). Tenha cuidado. Isso no pode ser desfeito. Voc vai, no entanto, ser avisado. Rename. D o recurso de um novo nome. Isso tambm pode ser feito sob a janela de propriedade de recurso. Alm disso, voc pode selecionar o recurso e, em seguida, clicar sobre o nome. Properties. Use este comando para abrir a janela para editar as propriedades. Observe que todas as janelas de propriedade aparecem dentro da janela principal. Voc pode editar muitos deles ao mesmo tempo. Voc tambm pode editar as propriedades clicando duas vezes sobre o recurso. Observe que todos estes comandos tambm podem ser dados de uma forma diferente. Boto direito do mouse em um recurso ou grupo de recursos, e o menu pop-up apropriado aparecer. Menu Resources Neste menu, voc pode criar novos recursos com cada um dos diferentes tipos. Observe que para cada uma deles existe tambm um boto na barra de ferramentas e um atalho de teclado. Tambm voc pode alterar as informaes do jogo e as configuraes global de jogo. Menu Run Este menu utilizado para executar o jogo. H duas maneiras de executar um jogo. Executar normalmente. Executa o jogo como aconteceria normalmente. O jogo executado da forma mais eficiente e ir olhar e agir como em um jogo executvel.

Executar no modo Debug. O jogo executado em modo de depurao. Neste modo, voc pode verificar certos aspectos do jogo e voc pode pausar e percorr-lo. Isso til quando algo d errado, mas um pouco avanada. Uma vez que o jogo esteja terminado, voc pode criar um executvel independente do jogo usando o comando no menu File. Menu Window Neste menu, voc encontra alguns dos comandos usuais para gerenciar as diferentes janelas de propriedades na janela principal: Cascade. Cascata todas as janelas de modo que cada um deles parcialmente visvel. Arrange Icons. Organizar todas as janelas de propriedades iconified. (teis em especial quando o redimensionamento do formulrio principal.) Close All. Feche todas as janelas de propriedades, perguntando ao usurio se deseja ou no salvar as alteraes feitas.

Help menu Aqui voc encontrar alguns comandos para ajud-lo: Contents. Use este comando para mostrar este arquivo de ajuda. Tutoriais. Use este submenu para mostrar os diferentes tutoriais que so fornecidos com o Game Maker lhe ensinar como fazer seus primeiros jogos. Upgrade to Pro Edition. Voc pode usar este comando para atualizar a edio do Game Maker Lite para a Pro Edition Online. A verso Pro tem muitas caractersticas adicionais. Enter Activation Code. Se voc comprou Game Maker antes (e, portanto, tm um cdigo de ativao ou uma referncia de compra anterior), voc pode usar este comando para inserir o seu cdigo. Voc ser levado a uma pgina web onde voc pode inserir seu cdigo de ativao ou a sua referncia de compra do seu pagamento anterior. News. Aqui voc pode ver as notcias mais recentes sobre Game Maker. Book. Este comando ir lev-lo a um local no site onde voc pode encontrar informaes sobre o livro Game Maker. More Tutorials. Este comando ir lev-lo a um local no site onde voc pode baixar mais alguns tutoriais. Website. Conecta ao site Game Maker, onde voc pode encontrar informaes sobre a verso mais recente do Game Maker e colees de jogos e recursos para o Game Maker. Forum. Este comando ir lev-lo at o frum onde os usurios ajudam uns aos outros em muitos aspectos do Game Maker. Wiki. Este comando ir lev-lo ao wiki Game Maker, onde voc pode encontrar muitas informaes sobre o uso de Game Maker. About Game Maker. D algumas informaes acerca desta verso do Game Maker.

O explorer de recurso

esquerda da janela principal voc encontra o explorer de recursos. Aqui voc ver uma rvore de visualizao de todos os recursos em seu jogo. Ele funciona da mesma maneira como o Windows Explorer, e voc provavelmente est familiarizado com ele. Se um item tiver um sinal de + na frente dele voc pode clicar no sinal para ver os recursos em seu interior. Ao clicar no boto com sinal de - estes desaparecem novamente. Voc pode alterar o nome de um recurso (exceto os de nvel superior), selecionando-o (com um nico clique) e, em seguida, clicar sobre o nome. D um duplo clique em um recurso para editar suas propriedades. Use o boto direito do mouse para acessar os mesmos comandos no menu Editar. Voc pode alterar a ordem dos recursos, clicando sobre eles com o mouse e segurando o boto do mouse pressionado. Agora voc pode arrastar o recurso para o local apropriado. (Claro que o lugar deve ser correta. No possvel arrastar um som para a lista de sprites.)

Definindo spritesSprites so as representaes visuais de todos os objetos do jogo. Uma Sprite tanto uma nica imagem, desenhada com qualquer programa de desenho que voc gosta, ou um conjunto de imagens que, quando jogados um aps o outro, parece um movimento animado. Por exemplo, as quatro imagens formam uma sprite para um personagem que se deslocam para a direita.

Quando voc faz um jogo que normalmente comea por coletar um conjunto de sprites bonitas para os objetos em seu jogo. Um nmero considervel de sprites teis vem junto com o Game Maker. Outras colees de sprites interessantes pode ser encontradas no site Game Maker. Muitas sprites podem ser encontrado na Internet, normalmente em forma de arquivos PNG ou GIF animado. Para criar uma sprite, escolha o item Create Sprite a partir do menu Resource, ou use o boto correspondente na barra de ferramentas. A janela a seguir ir aparecer.

Na parte superior esquerda voc pode indicar o nome da sprite. Todas as sprites (e todos os outros recursos) tem um nome. melhor dar a cada sprite um nome descritivo. Certifique-se de que todos os recursos tm nomes diferentes. Mesmo que este no estritamente necessria, recomendado usar apenas letras e nmeros e o smbolo sublinhado (_) no nome de um sprite (e qualquer outro recurso) e que comece com uma letra. Em particular, no use o caractere de espao. Isso ser importante uma vez que voc comee a usar o cdigo. Para carregar uma sprite, clique no boto Load Sprite. Uma caixa de dilogo especial de arquivo abrir no qual voc pode escolher a sprite:

A parte da esquerda parece com o seletor de arquivos padro no qual voc pode selecionar o sprite que voc quer. direita voc v um preview da sprite animado e algumas informaes sobre ele. Aqui voc tambm pode indicar que voc quer tornar a sprite opaco (isto , retirar todas as peas transparentes), quer para remover o fundo, tornando-se padro (transparente), ou para suavizar as bordas da sprite, o que pode melhorar a sua aparncia. Quando voc est feliz com o resultado pressione Open para carregar o objeto. Game Maker pode carregar muitos arquivos grficos diferentes. Quando voc carregar um gif animado, as subimagens diferentes formam as imagens da sprite. Quando o nome do arquivo termina com _stripXX, com um nmero XX, considera-se conter uma faixa de XX subimagens prximas umas das outras (no para arquivos GIF). Por exemplo, um arquivo de imagem com o nome ball_strip4.png assumido que contm 4 subimagens. Uma vez que a sprite carregada a primeira subimagem mostrada direita. Quando h vrias sub-imagens, voc pode alternar entre eles usando os botes de seta. Com o boto Edit Sprite voc pode editar a sprite, ou at mesmo criar uma sprite totalmente novo. Game Maker tem uma extensa coleo de Sprites e editor de imagens. Para obter mais informaes, consulte as sees sobre Editando suas sprites e edio subimagens individualmente.

Sons e msicaA maioria dos jogos tm determinados efeitos sonoros e msica de fundo. Muitos efeitos sonoros teis podem ser encontradas no site Game Maker. Muitos mais podem ser encontrados em outros lugares na web. Para criar um recurso de som em seu jogo, utilize o item de Create Sound no menu Resources ou use o boto correspondente na barra de ferramentas. A janela a seguir ir aparecer.

Para carregar um som, pressione o boto marcado com Load Sound. Uma caixa de dilogo seletor de arquivo aparece na qual voc pode selecionar o arquivo de som. Existem dois tipos de arquivos de som, arquivos wave e midi. Arquivos Wave so usadas para efeitos sonoros curtos. Eles usam uma grande quantidade de memria mas tocam instantaneamente. Use estes para todos os efeitos sonoros em seu jogo. Arquivos Midi descrever a msica de uma maneira diferente. Como resultado, eles usam muito menos memria, mas eles so limitados a msica de fundo instrumental. Alm disso, o padro som midi pode tocar a qualquer momento. Uma vez que voc carregar um arquivo de msica voc pode ouvir o som utilizando o boto "play". H tambm um boto de Save Sound para salvar o som atual para um

arquivo. Este boto no realmente necessria, mas talvez seja necessrio se voc perder o som original.

BackgroundsO terceiro tipo de recurso bsico so os backgrounds. Os backgrounds so geralmente grandes imagens que so usadas como plano de fundo (ou plano de frente) para as rooms em que o jogo tem lugar. Muitas imagens de background so feitas de tal forma que eles possam preencher um espao sem quebrar o visual. Desta forma, voc pode preencher o background com algum modelo. Um tanto desses background teis esto embutidos no Game Maker. Outros podem ser encontrados no site do Game Maker. Muitos mais pode ser encontrado em outros lugares na web. Para criar um recurso background em seu jogo, utilize o item Create Background no menu Resources ou use o boto correspondente na barra de ferramentas. A janela a seguir ir aparecer.

Na parte superior esquerda voc pode indicar o nome do fundo. recomendado para dar a cada background (e outros recursos) um nome descritivo. Pressione o boto Load Background para carregar uma imagem de background. Um seletor de arquivo mostrado no qual voc pode selecionar o fundo que voc quer. direita da caixa de dilogo voc pode indicar se voc deseja fazer o fundo opaco (isto , retirar todas as peas transparentes), quer para remover o fundo, tornando padro (no transparente), ou suavizar as bordas do fundo, o que pode melhorar a sua aparncia quando ele parcialmente transparente. Quando voc est feliz com o resultado pressione Open para carregar o fundo. Game Maker suporta muitos formatos de imagem. Imagens de background no pode ser animado! Voc pode alterar o fundo ou criar uma nova utilizando o boto Edit Background . Isto ir abrir um editor de imagem extensiva. Para obter informaes sobre como usar o editor de imagem veja a seo sobre edio de imagens. Tenha cuidado com grandes formaes. Alguma placas grficas antigas no conseguem lidar com imagens que so maiores do que a tela. Ento, de preferncia, manter as suas imagens de fundo inferior a 1024x1024.

Definindo objetos

Com os recursos que voc tem visto at agora voc pode adicionar algumas imagens e sons agradveis ao jogo, mas eles no fazem nada. Passamos agora para o recurso mais importante do Game Maker, os objetos. Objetos so entidades no jogo que fazem coisas. Na maioria das vezes tm uma sprite como representao grfica de modo que voc possa v-los. Eles tm comportamento, pois eles podem reagir a determinados eventos. Todas as coisas que voc v no jogo (exceto o background) so objetos. (Ou para ser mais preciso, so instncias de objetos.) Os personagens, os monstros, as bolas, as paredes, etc, so todos objetos. Tambm pode haver certos objetos que voc no v, mas que controlam certos aspectos do jogo. Por favor, perceba a diferena entre sprites e objetos. Sprites so apenas imagens (animadas) que no tm qualquer comportamento. Objetos tm normalmente um sprite para represent-los, mas os objetos tm comportamento. Sem objetos no h jogo! Perceba tambm a diferena entre objetos e instncias. Um objeto que descreve uma determinada entidade, por exemplo, um monstro. Pode haver vrias instncias deste objeto no jogo. Quando falamos de uma instncia significa que uma instncia especfica do objeto. Quando falamos de um objeto queremos dizer todas as instncias deste objeto. Para criar um objeto em seu jogo, escolha Criar Object no menu Resources. A janela abaixo ir aparecer:

Isto muito complexo. esquerda h algumas informaes gerais sobre o objeto. No meio, h a lista de eventos que podem acontecer ao objeto. direita h vrias aces que o objeto pode executar. Eventos e aes sero discutidas nos prximos captulos. Como sempre, voc pode (e deve) dar um nome ao seu objeto. Em seguida, voc pode escolher a sprite para o objeto. Para este fim, clique com o boto esquerdo do mouse sobre a caixa de sprite ou o boto de menu ao lado. Um menu aparece com todas as imagens disponveis. Selecione a opo que voc deseja usar para o objeto. Se voc no

tem uma sprite ainda, voc pode clicar no boto Novo para criar um recurso sprite novo e alter-lo. Alm disso, quando voc selecionar um recurso haver um boto Edit aqui que voc pode usar para mudar a sprite. Isto mais rpido do que encontrar o primeiro recurso na lista de recursos e, em seguida, indicando que pretende editar. Abaixo disto existem duas caixas de seleo. Visble indica se as instncias deste objeto so visveis. Claramente, a maioria dos objetos so visveis, mas s vezes til ter objetos invisveis. Por exemplo, voc pode us-los para waypoints (ponto de referncia) para um monstro em movimento. Objetos invisveis vo reagir a eventos e outras instncias faro coliso com eles. A caixa com o nome Solid indica se este um objeto slido (como uma parede). Colises com objetos slidos so tratadas diferentemente das colises com objetos no-slido. recomendado usar Solid somente para o objeto que no esto se movendo.

EventosGame Maker usa o que chamado de uma abordagem orientada a evento. Isso funciona da seguinte forma. Sempre que algo acontece no jogo as instncias dos objetos recebe eventos (tipo de mensagens que dizem que algo aconteceu). As instncias podem ento reagir a estas mensagens ao executar determinadas aes. Para cada objeto voc deve indicar qual evento ele responde e as quais aes devem ser executadas quando o evento ocorrer. Isto pode parecer complicado, mas realmente muito fcil. Primeiramente, para a maioria dos eventos o objeto no precisa fazer nada. Para os eventos em que algo deve ser feito, voc pode usar um simples arrastar e soltar para indicar as aes. No meio da janela de propriedade do objeto, existe uma lista de eventos aos quais o objeto deve reagir. Inicialmente ela est vazia. Voc pode adicionar eventos a ela, pressionando o boto Add Event. Aparecer uma janela com todos os diferentes tipos de eventos. Aqui voc seleciona o evento que voc deseja adicionar. s vezes surge um menu com opes adicionais. Por exemplo, para o evento de teclado voc deve selecionar a tecla. Abaixo voc encontra uma lista completa dos mais diferentes eventos e suas descries. Um evento na lista ser selecionado. Este o evento que atualmente estamos mudando. Voc pode alterar o evento selecionado, clicando sobre ele. direita, h todas as aes representadas por pequenos cones. Eles esto agrupados em vrias pginas com abas. No prximo captulo voc vai encontrar descries de todas as aes e o que fazem. Entre os eventos e as aes, h a lista de aes. Essa lista contm as aes que devem ser realizadas para o evento atual. Para adicionar lista de aes, arraste-os com o mouse da direita para a lista. Elas sero colocadas uma abaixo da outra, com uma breve descrio. Para cada ao, voc ser solicitado a fornecer alguns parmetros. Estes tambm sero descritos no prximo captulo. Assim, aps a adio de algumas aes que a situao pode aparecer da seguinte forma:

Agora voc pode comear a adicionar as aes a outro evento. Clique no evento correto com o boto esquerdo do mouse para selecion-lo e arraste aes na lista. Voc pode alterar a ordem das aes na lista novamente usando arrastar e soltar. Se voc segurar a tecla enquanto arrasta, voc faz uma cpia da ao. Voc ainda pode usar arrastar e soltar entre listas de as de objetos diferentes. Quando voc clica com o boto direito do mouse sobre uma ao, aparece um menu no qual voc pode excluir a ao selecionada (tambm pode ser feito usando a tecla ) ou copiar e colar. (Voc pode selecionar vrias aes como cortar, copiar ou apagar segurando a tecla da tecla . Pressione para selecionar todas as aes.) Quando voc ficar com mouse em repouso acima de uma ao, uma descrio mais detalhada dada da ao. Veja o prximo captulo para obter mais informaes sobre as aes. Para apagar o evento atualmente selecionado, juntamente com todas as suas aces aperte o boto Delete. (Eventos sem quaisquer aes sero excludas automaticamente quando voc fechar a janela de modo que no h necessidade de exclu-los manualmente.) Se voc quiser atribuir as aes a um evento diferente (por exemplo, porque voc decidiu usar uma tecla diferente para eles ) aperte o boto Change e escolha o novo evento que voc deseja. (O evento no deve ser definido j!) Usando o menu que aparece quando o boto direito do mouse sobre a lista de eventos, voc tambm pode duplicar um evento, ou seja, adicionar um novo evento, com as mesmas aes. Como indicado acima, para adicionar um evento, pressione o boto Add Event. O formulrio abaixo, aparece:

Aqui voc seleciona o evento que deseja adicionar. s vezes surge um menu com opes adicionais. Aqui est uma descrio dos vrios eventos. (Novamente lembre-se que voc normalmente usa apenas alguns deles.) Create event Este evento acontece quando uma instncia do objeto criado. normalmente usado para definir a instncia em movimento e/ou para definir algumas variveis para a instncia. Destroy event Este evento ocorre quando a instncia destruda. Para ser preciso, isso acontece pouco antes de ser destruda, ento a instncia ainda existe quando o evento executado! Na maioria das vezes este evento no usado, mas voc pode, por exemplo, us-lo para mudar o placar ou criar algum outro objeto. Alarm events Cada instncia tem 12 relgios despertadores. Voc pode ajustar estes alarmes usando determinadas aes (ver captulo seguinte). O alarme em seguida, conta para baixo at chegar a 0 no momento em que o evento de alarme gerado. Para indicar as aes de um alarme dado, primeiro voc precisa selecion-lo no menu. Alarmes so muito teis. Voc pode us-los para que certas coisas acontecem de vez em quando. Por exemplo, um monstro pode mudar sua direo de movimento a cada 20 passos. (Em tais casos, uma das aes no evento deve definir o alarme novamente.) Step events O evento passo acontece a cada passo do jogo. Aqui voc pode colocar as aes que precisam ser executados de forma contnua. Por exemplo, se um objeto deve seguir um outro, aqui voc pode adaptar a direo do movimento em direo ao objeto que estamos seguindo. Contudo tenha cuidado com este evento. No coloque muitas aes complicadas no evento passo dos objetos que tenha muitas instncias. Isso pode retardar o jogo. Para ser mais preciso, h trs eventos passos diferentes. Normalmente, voc s precisa de um padro. Mas usando o menu voc tambm pode selecionar o evento inicio de passo e o fim de passo. O evento inicio de passo executado no incio de cada passo, antes de quaisquer outros eventos ocorrerem. O evento passo normal executado imediatamente antes das instncias serem colocadas em suas novas posies. O evento fim de passo executado no final do passo, antes do desenho. Isso normalmente usado para mudar a sprite dependendo da direo atual.

Collision events Sempre que duas instncias se colidem (isto , seus sprites se sobrepem) um evento de coliso aparece. Bem, para ser preciso o dois eventos de coliso ocorrem, um para cada instncia. A instncia pode reagir a esse evento de coliso. Para esse efeito, a partir do menu, selecione o objeto com o qual pretende definir o evento de coliso. Em seguida voc coloca as aes aqui. H uma diferena que acontece quando a instncia se choca com um objeto slido ou um objeto no slido. Primeiramente, quando no existem aes em caso de coliso, no acontece nada. A instncia atual simplesmente mantm em movimento, mesmo quando o outro objeto slido. Quando o evento de coliso contm aes acontece o seguinte: Quando o outro objeto slido, a instncia colocado de volta no seu lugar anterior (antes da coliso). Em seguida, o evento executado. Finalmente, a instncia transferido para sua nova posio. Assim, se o caso por exemplo inverte a direo do movimento, a instncia ricocheteia contra a parede, sem parar. Se ainda houver uma coliso, a instncia seja mantido no seu lugar anterior. Por isso, pra de se mover efetivamente. Quando o outro objeto no slido, a instncia no colocada de volta. O evento simplesmente executado com a instncia na posio atual. Alm disso, no h checagem para uma segunda coliso. Se voc pensar bem, essa a nica coisa lgica que deve acontecer. Porque o objeto no slido, podemos simplesmente passar por cima dele. O evento notifica-nos que isto est acontecendo. H muitos utilidades para o evento de coliso. Instncias podem us-lo para ricochetear contra as paredes. Voc pode us-lo para destruir objetos, quando, por exemplo, eles so atingidos por uma bala. Keyboard events Quando o jogador pressionar uma tecla, um evento de teclado acontece para todas as instncias de todos os objetos. Existe um evento diferente para cada tecla. No menu voc pode escolher a tecla para o qual pretende definir o evento de teclado e aes arrastadas para l. Claramente, apenas alguns objetos precisam de eventos para apenas algumas teclas. Voc comea um evento em cada passo, desde que o jogador mantenha a tecla pressionada. H dois eventos de teclado especiais. Um chamado de . Este evento acontece em cada passo, quando nenhuma tecla for pressionada. O segundo chamado e acontece quando qualquer tecla pressionada. Quando o jogador pressiona teclas mltiplas, os eventos para todas as teclas pressionadas acontece. Observe que as teclas do teclado numrico s produzem os eventos correspondentes quando pressionado. Mouse events Um evento de mouse acontece para uma instncia sempre que o cursor do mouse est dentro da sprite que representa a instncia. Dependendo de quais botes do mouse for pressionado pega o evento, boto sem pressionar, boto esquerdo, boto direito, boto do meio. Os eventos de boto do mouse so gerados a cada passo, desde que o jogador mantenha o boto do mouse pressionado. Os eventos de pressionar so gerados apenas uma vez quando o boto for pressionado. Os eventos de liberado so gerados apenas quando o boto for liberado. Observe que esses eventos ocorrem somente quando o mouse estiver sobre o evento. Se quiser reagir ao evento de presso ou liberao do

mouse em um lugar arbitrrio, use o mouse eventos globais que podem ser encontrados em um submenu. H dois eventos de mouse especial. Oe vento mouse entra acontece quando o mouse entra numa instncia. O evento mouse deixar acontece quando o mouse deixa a instncia. Estes eventos so normalmente usados para modificar a imagem ou tocar algum som. Eventos girar a roda do Mouse para cima e para baixo acontecem quando o usurio move a roda do mouse. Por ltimo, h uma srie de eventos relacionados com o joystick. Voc pode indicar aes para as quatro direes principais do joystick (em sentido diagonal ambos os eventos acontecem). Tambm voc pode definir aes para at 8 botes do joystick. Voc pode fazer isso tanto para o joystick primrio e secundrio. Other events H uma srie de outros eventos que podem ser teis em determinados jogos. Eles so encontrados no menu. Os seguintes eventos podem ser encontrados aqui: Outside room: Este evento ocorre quando a instncia est completamente fora da sala. Isto normalmente um bom momento para destru-lo. Intersect boundary: Este evento ocorre quando a instncia cruza a fronteira da room, ou seja, ele se encontra (pelo menos) parcialmente fora da sala. Views: Aqui voc encontrar uma srie de eventos que so teis quando voc usar exibies em suas rooms. Estes eventos testa se a instncia est completamente fora de uma viso particular ou cruza o limite de exibio. Game start: Este evento acontece para todas as ocorrncias na primeira room, quando o jogo inicia. Isso acontece antes do evento comear room (ver abaixo), mas aps a criao de eventos para as instncias na room. Este evento normalmente definido em apenas um objeto "controlador" e usado para iniciar uma msica de fundo e para inicializar algumas variveis, ou carregar alguns dados. Game end: O evento acontece a todas as instncias quando o jogo termina. Novamente normalmente apenas um objeto define este evento. Por exemplo, usado para armazenar alguns dados em um arquivo. Room start: Este evento acontece em todas as instncias, inicialmente em uma room quando a room comea. Isso acontece aps os eventos de criao. Room end: Este evento acontece a todas as instncias existentes quando finaliza a room. No more lives: Game Maker tem um sistema embutido de vidas. Existe uma ao para definir e alterar o nmero de vidas. Sempre que o nmero de vidas torna-se menor ou igual a 0, o evento acontece. tipicamente usada para encerrar ou reiniciar o jogo. No more health: Game Maker tem embutido um sistema de sade. Existe uma ao para definir e alterar a sade. Sempre que a sade torna-se menor ou igual a 0, o evento acontece. Ele tipicamente usado para reduzir o nmero de vidas ou para reiniciar o jogo. Animation End: Como indicado acima, uma animao composto por um nmero de imagens que so exibidas uma aps a outra. Depois que o ltimo quadro mostrado comea de novo com o primeiro. O evento acontece precisamente neste momento. Como um exemplo, isso pode ser usado para alterar a animao, ou destruir a instncia. End of path: Este evento ocorre quando a instncia segue um caminho e quando o fim do caminho atingido. Close Button: Este evento acontece quando o usurio clica no boto fechar da

janela. Isso s acontece quando desativar nas configuraes do jogo a opo de ter o boto para fechar como a tecla Escape. User defined: H 16 desses eventos. Eles normalmente nunca acontecer a menos que voc mesmo chame-os de uma parte do cdigo.

Draw event Instncias, quando visveis, desenham sua sprite em cada passo na tela. Quando voc especificar aes no evento de desenho, o sprite no desenhada, mas essas aes so executadas em seu lugar. Isto pode ser usado para desenhar algo diferente da sprite, ou primeiro fazer algumas alteraes nos parmetros da sprite. H uma srie de aes de desenho que so especialmente feitos para uso no evento desenho. Observe que o evento desenho s executado quando o objeto visvel. Observe tambm que, independente do que voc desenha, eventos de coliso so baseadas no sprite que est associado com a instncia. Key Pess events Este evento semelhante ao evento de teclado, mas isso acontece apenas uma vez quando a tecla pressionada, ao invs de continuamente. Isso til quando voc quer uma ao acontea apenas uma vez. Key Release events Este evento semelhante ao evento de teclado, mas isso acontece apenas uma vez quando a tecla liberada, e no continuamente. Em algumas situaes importante para compreender a ordem os processos de eventos do Game Maker. a seguinte: Begin step events Alarm events Keyboard, Key press, e Key release events Mouse events Normal step events (agora todos as instncias so definidas para suas novas posies) Collision events End step events Draw events

O eventos criar, destruir, e outros so realizados quando coisas correspondentes acontecem. Aes Aes indica as coisas que acontecem em um jogo criado com o Game Maker. As aes so colocadas em eventos de objetos. Sempre que o evento acontece essas aes so executadas, resultando em um comportamento certo para as instncias do objeto. H um grande nmero de aes diferentes disponveis e importante que voc entenda o que eles fazem. Neste captulo iremos descrever as aes disponveis no modo simples. Observe que algumas destas aes so apenas disponvel na verso Pro do Game Maker. Isso ser indicado. Todas as aes so encontrados nas pginas exibidas na parte direita da janela de propriedade do objeto. Existem seis tipos de aes. Voc seleciona o ajuste que voc quer, clicando na aba correta. Quando voc mantm o mouse sobre uma das aes, uma

breve descrio exibida para lembr-lo de sua funo. Vamos brevemente repetir: Para colocar uma ao em um evento, basta arrast-lo a partir das pginas com abas para a lista de aes. Voc pode alterar a ordem da lista, novamente usando arrastar. Segurando a tecla enquanto arrasta faz uma cpia da ao. (Voc pode arrastar e copiar aes entre as listas de diferentes janelas de propriedade do objeto.) Use o boto direito do mouse e selecione o item de menu correto para remover as aes (ou use a tecla ) e copiar e colar as aes selecionadas. Quando voc descarta uma ao na lista de aes, uma janela aparece na maioria das vezes, em que voc pode preencher certos parmetros para a ao. Os parmetros sero descritos a seguir, ao descrever as aes. Dois tipos de parmetros aparecem em muitas aes por isso vamos descrever essas aqui. No topo voc pode indicar para qual instncia a ao se aplica. O padro self (si mesma), que a instncia para a qual a ao executada. Na maioria das vezes, isso que voc quer. No caso de um evento de coliso, voc tambm pode especificar a aplicar o recurso para a instncia de outros envolvidos na coliso. Por exemplo, desta maneira voc pode destruir a outra instncia. Finalmente, voc pode optar por aplicar as medidas para todas as instncias de um objeto especfico. Desta maneira voc pode mudar todas as bolas vermelhas para bolas azuis. O segundo tipo de parmetro a caixa chamada de Relative. Ao marcar esta caixa, os valores que voc digite so relativos aos valores atuais. Por exemplo, dessa forma voc pode adicionar algo a pontuao atual, em vez de alterar a pontuao atual para o novo valor. Os outros parmetros sero descritos abaixo. Voc pode posteriormente alterar os parmetros clicando duas vezes sobre a ao. Aes de movimento Os primeiros ajustes de aes consistem em ligar esses movimentos aos objetos. Existem as seguintes aes: Move Fixed (Mover numa direo) direction speed Use esta ao para fazer com que a instncia inicie movimento em uma determinada direo. possvel indicar a direo com as teclas de seta. Use o boto central para interromper o movimento. Tambm necessrio especificar a velocidade do movimento. Esta velocidade fornecida na forma de pixels por passo (step). Preferencialmente, no se deve usar valores de velocidade negativos. Voc pode especificar direes mltiplas. Neste caso, feita uma escolha aleatria. Assim, por exemplo, um monstro pode iniciar seu movimento para esquerda ou para direita. Move Free (Mover livremente) motion_set(dir,speed) Esta a segunda forma de se especificar um movimento. Neste caso, pode-se indicar uma direo precisa, em um ngulo que varia entre 0 e 360 graus. 0 significa direo direita. A direo cresce em sentido anti-horrio. Assim, por exemplo, 90 indica uma direo para cima (na vertical). Para uma direo aleatria, pode-se utilizar random(360). Como ser explicado posteriormente, a funo random gera um nmero aleatrio menor do que o valor indicado. Como se pode observar, h uma caixa denominada Relative. Marcando-a, o novo movimento definido com base no atual. Por exemplo, se a instncia est se movimentando para cima e definido um pouco de movimento esquerda, o movimento resultante ser para cima e para esquerda. Move Towards (Move em direo a um ponto)

move_towards_point(x,y,sp) Esta ao fornece uma terceira forma de se especificar um movimento. Indica-se uma posio e velocidade, a instncia ento inicia seu movimento com a velocidade indicada em direo a posio fornecida (observe que ela no interrompe o movimento ao atingir a posio). Por exemplo, se voc quer que um tiro v em direo a uma espaonave, use como posio spaceship.x, spaceship.y (posteriormente, ser descrito mais sobre o uso destas variveis). Marcando a caixa Relative, especifica-se a posio relativa atual da instncia (a velocidade, entretanto, no relativa). Speed horizontal (Velocidade horizontal) hspeed A velocidade de uma instncia composta de uma parte horizontal e uma parte vertical. Atravs desta ao, possvel modificar a velocidade horizontal. Uma velocidade horizontal positiva significa um movimento para direita. J uma negativa, significa movimento esquerda. A velocidade vertical ser mantida intacta. Use relative para aumentar a velocidade horizontal (ou diminu-la se for fornecido um valor negativo). Speed Vertical (Velocidade vertical) vspeed De forma similar, atravs desta ao possvel modificar a velocidade vertical de uma instncia. Set gravity (Ajustar gravidade) gravity gravity_direction Atravs desta ao, cria-se gravidade para um objeto em particular. Pode-se especificar uma direo (ngulo entre 0 e 360 graus) e uma velocidade, e a cada passo esta velocidade e direo so adicionadas ao movimento atual da instncia do objeto. Normalmente, preciso apenas um pequeno incremento na velocidade (algo como 0.01). Para gravidade, tipicamente se quer uma direo para baixo (270 graus). Marcando a caixa Relative aumenta-se a velocidade e direo gravitacional. Observe que, ao contrrio da vida real, objetos diferentes podem ter direes gravitacionais diferentes. Reverse Horizontal (Inverter direo horizontal) path_reverse(ind) Esta ao reverte o movimento horizontal de uma instncia. Pode ser usada, por exemplo, quando um objeto colide com uma parede vertical. Reverse Vertical (Inverter direo vertical) path_reverse(ind) Reverte o movimento vertical de uma instncia. Utiliza-se, por exemplo, quando um objeto colide com uma parede horizontal. Set friction (Ajustar o atrito) friction O atrito diminui a velocidade de movimento das instncias. Com esta ao, especifica-se a quantidade de atrito. A cada passo, este valor subtrado da velocidade, at que esta se torne 0 (zero). Geralmente, deseja-se um valor de atrito bem pequeno (como 0.01). Categoria Jump (Pular)

Jump to position (Saltar para uma posio) x=x+k y=x+k Atravs desta ao, possvel deslocar uma instncia para uma posio em particular. Simplesmente preciso especificar as coordenadas (x e y), e a instncia posta com seu ponto de referncia nesta nova posio. Marcando-se a caixa Relative, a posio final relativa posio atual da instncia. Esta ao geralmente utilizada para movimentar uma instncia de modo contnuo. Por exemplo, a cada passo, incrementa-se um pouco a posio. Jump to start (Saltar para a posio inicial) xstart ystart Esta ao coloca a instncia de volta na posio original, onde ela estava no momento de sua criao. Jump to a random (Saltar para uma posio aleatria) move_random(hsnap,vsnap) Move a instncia para uma posio aleatria no room. S so escolhidas posies onde no ocorra interseco com alguma instncia slida. possvel definir modelos padronizados para a escolha da nova posio. Por exemplo, escolhendo valores positivos, as coordenadas escolhidas sero mltiplos inteiros dos valores indicados (isto pode ser usado para manter a instncia alinhada com clulas existentes no jogo, se for o caso). Tambm possvel separar a definio de valores para posies horizontais e para posies verticais. Align to Grid (Alinha a uma grade) move_snap(hsnap,vsnap) possvel delimitar o posicionamento da instncia a uma grade. Indica-se valores para posicionamento horizontal e vertical (em outras palavras, o tamanho das clulas na grade). Isto pode ser muito til para se ter certeza de que as instncias permanecero na grade. Wrap Screen (Esconder da Tela) move_wrap(hor,vert,margin) Com esta ao voc pode deixar uma instncia escondida ao redor, quer dizer, quando deixar um lado da room ela reaparece do outro lado. Esta ao normalmente usada no evento Outside (Lado de Fora). Observe que a instncia tem que ter uma velocidade por esconder para funcionar, porque a direo de se esconder est baseado na direo do movimento. Voc pode indicar se s esconde horizontal, s vertical, ou em ambas as direes. Move to Contact (Mover a uma posio de contato) move_contact_solid(dir,maxdist) move_contact_all(dir,maxdist) Com esta ao possvel movimentar a instncia em uma dada direo at que se atinja a posio de contato com um objeto. Se j h uma coliso na posio atual, a instncia no movida. De outra forma, a instncia deslocada exatamente antes que a coliso ocorra. possvel indicar uma direo, mas tambm uma distncia mxima a mover. Por

exemplo, quando uma instncia est caindo possvel desloc-la para baixo at que um objeto seja encontrado. Tambm possvel definir se apenas objetos slidos devam ser considerados ou se todos os objetos. Tipicamente se define esta ao em um evento do tipo coliso para se ter certeza de que a instncia pare aps o contato com a outra instncia envolvida na coliso. Bounce (Ricochetear) move_bounce_solid(adv) move_bounce_all(adv) Com esta ao em um evento coliso com algum objeto, a instncia bate no objeto e volta de forma natural. Ajustando o parmetro preciso para falso (false), apenas paredes verticais e horizontais so tratadas corretamente. Ajustando preciso para verdadeiro (true) tambm paredes em declive ou em curva so tratadas de modo satisfatrio (embora um pouco mais lento). Tambm possvel indicar que apenas ricocheteie se bater em objetos slidos, ou em todos objetos. Observe que o efeito de ricochete (bounce) no totalmente correto porque depende de muitas propriedades, embora o resultado em geral seja bom. Aes Principais 1 Os seguintes ajustes de aes de acordo com a criao, alterao, e destruio de instncias de objetos, com sons, e com rooms. Create instance (Cria uma instncia de um objeto) instance_create(x,y,obj) Com esta ao possvel criar uma instncia de um objeto. Especifica-se para qual objeto a instncia ser criada e a sua posio. Marcando-se a caixa Relative, a posio se torna relativa posio da instncia atual. A criao de instncias durante um jogo extremamente til. Uma espaonave pode criar tiros; uma bomba pode criar uma exploso, etc. Em muitos jogos, haver um objeto controlador que de tempos em tempos cria monstros ou outros objetos. Para a nova instncia recm criada, executado um evento criar. Create Moving (Criar uma instncia de um objeto com velocidade e direo) instance_create(x,y,obj) speed direction praticamente idntica a anterior, mas com dois campos adicionais. Com ela tambm possvel especificar a velocidade e direo da instncia a ser criada. Observe que se a caixa Relative for marcada, apenas a posio relativa, e no a velocidade e a direo. Por exemplo, para ajustar o movimento de um tiro, preciso utilizar um pequeno truque. Como posio, usar 0,0 e marcar a caixa Relative. Como direo, preciso a direo atual da instncia, que pode ser obtida digitando a palavra direction (uma varivel que indica a direo atual em que uma instncia est se movendo). Create random (Criar instncia de um objeto aleatrio) instance_create(random(400),random(400),obj) Esta ao o deixa criar uma instncia de um entre quatro objetos. Voc especifica os quatro objetos e a posio. Uma instncia de um destes quatro objetos criada determinada posio. Se voc marcar a caixa Relativa, a posio relativa posio da

instncia atual. Se voc precisa de uma escolha fora de menos dos quatro objetos voc pode usar No Object para alguns deles. Isto por exemplo til para gerar um inimigo aleatrio em um local. Change Instance (Modificar a instncia) instance_change(obj,perf) Utiliza-se para mudar a instncia atual para uma instncia de um outro objeto. Por exemplo, possvel mudar a instncia de uma bomba para uma exploso. Todas as configuraes, como o movimento e o valor das variveis, permanecero iguais. Pode-se indicar ou no a realizao de um evento destruir para o objeto atual e um creation event para o novo objeto. Destroy Instance (Destruir a instancia) instance_destroy() Esta ao destri uma determinada instncia. executado um evento destruir para a instncia em questo. Destroy at position (Destruir instncias em uma posio) position_destroy(x,y) Com esta ao, possvel destruir todas as instncias contidas em um retngulo abrangendo uma determinada posio. til, por exemplo, quando acontece a exploso de uma bomba, que deve atingir uma determinada rea. Marcando-se a caixa Relative, a posio se torna relativa posio da instncia atual. Change Sprite (Mudar a sprite) sprite_index Utiliza-se esta ao para mudar a sprite de uma instncia. Indica-se, tambm, qual subimagem deve ser exibida. Normalmente, o valor apropriado 0 (indicando a primeira subimagem), a menos que se queira exibir uma sub-imagem em particular. Usa-se -1 se no se quer modificar a sub-imagem atualmente exibida. Finalmente, possvel mudar a velocidade da animao. Se for desejada a visualizao de uma sub-imagem em particular, utiliza-se o valor 0 para a velocidade. Se o valor de velocidade for maior do que 1, algumas sub-imagens no sero exibidas; se for menor do que 1, algumas subimagens sero exibidas mais de uma vez. No se deve utilizar valores negativos para velocidade. A modificao de sprites uma caracterstica importante. Por exemplo, freqentemente desejado modificar a sprite de um objeto dependendo da sua direo de movimento, o que pode ser obtido criando sprites diferentes para cada uma das 4 direes. Dentro dos eventos do teclado para as teclas de setas direcionais, ajusta-se a direo de movimento e a sprite correspondente. Transform Sprite (Transformar a sprite) sprite_width sprite_height Utiliza-se esta ao para modificar o tamanho e orientao da sprite para a instncia. Atravs de fatores de escala, possvel torn-la maior ou menor. O ngulo fornecido no sentido anti-horrio. Para criar a sprite orientada na direo de movimento, usa-se como valor direction. Isto til, por exemplo, para representar um carro. Tambm possvel indicar se a sprite deve ser espelhada vertical ou horizontalmente.

Color Sprite (Configurar a cor de uma sprite) image_blend Normalmente, a sprite desenhada como foi definida. Atravs desta ao, possvel mudar a cor da sprite. Esta cor misturada com a sprite, isto , combinada com as cores da sprite. Se for desejado desenhar uma sprite em cores diferentes, melhor definir a sprite em preto e branco e usar a cor de mistura para ajustar a cor. Tambm possvel indicar uma transparncia: valor igual a 1, a sprite fica opaca; valor igual a 0, fica completamente transparente; com um valor intermedirio (entre 0 e 1), se v parcialmente o fundo. Este efeito muito bom para criar exploses. Esta ao s est disponvel na verso registrada. Play a sound (Tocar um som) sound_play(index) Com esta ao, possvel tocar um dos sons (sound resouces) que foram adicionados ao jogo. Indica-se o som e se este deve ser tocado uma vez (o padro) ou em repetio contnua. Pode ser tocado mais de um som wave por vez, mas sons do tipo midi s podem ser tocados um de cada vez. Quando se inicia um novo som midi, o atual interrompido. Stop a sound (Parar um som) sound_stop(index) A ao interrompe o som indicado. Se mltiplas instncias desse som esto em execuo, todas so interrompidas. If a sound is playing (Se um som est em execuo) sound_isplaying(index) Se o som indicado est em execuo, a prxima ao realizada. De outro modo, ela ignorada. Pode-se selecionar Not para indicar que a ao deveria executar se o som indicado no estiver em execuo. Por exemplo, pode-se verificar se h uma msica de fundo em execuo e, se no houver, pr alguma msica em execuo. Go to previous room (Ir para sala anterior) room_goto_previous() Move para o room anterior. possvel indicar o tipo do efeito de transio entre rooms (experimente e verifique o que lhe parece mais atraente). Se ainda est no primeiro room, exibido um erro. Go to next room (Ir para prxima sala) room_goto_next() Move para o prximo room. Tambm pode-se indicar a transio. Restart to current room (Reiniciar a sala atual) room_restart() O room atual reiniciado. Indica-se o efeito de transio. Go to a diferent room (Ir para uma sala diferente) room_goto(numb) Atravs desta ao, se pode ir a um room em particular. Indica-se o room e o efeito de transio. If previous rooms exists (Se h uma sala anterior)

Esta ao testa se o room anterior existe. Existindo, a ao definida executada. Geralmente, preciso fazer este teste antes de se mover para o room anterior. If next rooms exists (Se h uma prxima sala) Testa se o prximo room existe. Existindo, a ao definida executada. Geralmente, utiliza-se este teste antes de se mover para o prximo room. Aba Main 2 Categoria Timing (Tempo) Set an alarm clock (Configurar um alarme) alarm[0..7] Atravs desta ao, possvel configurar at 8 alarmes para a instncia. Seleciona-se o nmero de passos e o alarme. Aps a indicao do nmero de passos, a instncia executa o evento de alarme correspondente. Tambm possvel aumentar ou diminuir o valor marcando a caixa Relative. Se o valor do alarme for ajustado para menor do que 0, este ser desativado, ento o evento no gerado. Sleep for a while (Interromper durante um tempo) sleep(numb) Com esta ao, possvel congelar a cena por um determinado tempo. tipicamente usada no incio ou no fim de um nvel, ou quando exibida alguma mensagem para o jogador. Especifica-se o nmero de milisegundos a parar (sleep). Tambm possvel especificar se a tela deveria ser redesenhada para representar a nova situao. Categoria Info (Informao) Display a message (Exibir uma mensagem) show_message(str) Com esta ao, possvel exibir uma mensagem em uma caixa de dilogo. Simplesmente digita-se a mensagem desejada. Usando um smbolo # no texto da mensagem, este ser interpretado como um caracter de nova linha (use \# se deseja exibir o smbolo #, ao invs de mudar de linha). Se o texto da mensagem iniciar com apstrofo ('), ou com aspas ("), interpretado como uma expresso. Posteriormente ser descrito mais a respeito de expresses. Show the game info (Mostrar informaes do jogo) show_info() Exibe a janela de informaes do jogo. Show a video file (Mostrar arquivo de vdeo) show_video(fname,full,loop) Com esta ao, possvel exibir um arquivo de vdeo/filme. Especifica-se o nome do arquivo e se deveria ser exibido em tela cheia ou em janela. Tenha certeza da existncia do arquivo de vdeo. Tambm deveria ser distribudo com o jogo ou colocado em um arquivo de dados e exportado. Restart the game (Reiniciar o jogo) game_restart() Esta ao faz com que o jogo volte ao seu incio.

End the game (Fim do jogo) game_end() Esta ao finaliza o jogo. Save the game (Salvar o jogo) game_save(string) Salva o estado atual de um jogo. Especifica-se o nome do arquivo de salvamento (o arquivo criado na mesma pasta do jogo). Posteriormente, este jogo pode ser recuperado com a ao de carga (descrita a seguir). Observao: apenas o estado bsico do jogo salvo; no salvo, por exemplo, o som que estava tocando, ou aspectos avanados como o contedo de estruturas de dados, partculas, etc. Load Game (Abrir o jogo) game_load(string) Recupera o estado de um jogo a partir de um arquivo (especifica-se o nome do arquivo). Esteja certo de que o jogo salvo corresponde ao jogo atual, e tambm que foi criado com a mesma verso do Game Maker; caso contrrio, ocorrer um erro. Aes de Controle H uma srie de aes com o qual voc pode controlar quais outras aes so realizadas. A maioria destas aes uma pergunta, por exemplo, se uma posio est vazio. Quando a resposta sim (true) a prxima ao executada, caso contrrio ele ignorado. Se voc quiser vrias aes a serem executadas ou ignoradas com base no resultado voc pode coloc-los em um bloco, colocando blocos de ao de incio e fim em torno delas. Tambm pode haver uma outra parte que executada quando a resposta no. Ento, uma pergunta tipicamente aparece como segue:

Aqui a questo perguntar se uma posio para a instncia atual est livre de coliso. Em caso afirmativo, a instncia comea a se mover em uma determinada direo. Se no, a instncia vai para uma determinada posio. Observe que os blocos so recuados. Isto d uma melhor viso global das aes. (Em especial quando voc usa blocos dentro de blocos.) Tambm mais fcil detectar quando voc se esqueceu de um bloco de incio ou

final de ao de bloco. Para todas as perguntas h um campo denominado NO. Se voc verificar neste campo, o resultado da questo invertida. Ou seja, se o resultado era verdade se torna falsa e se era falsa, torna-se verdade. Isso permite que voc execute certas aes quando uma pergunta no verdade. Para muitas perguntas voc pode indicar que elas devem ser aplicadas a todas as instncias de um objeto especfico. Neste caso, o resultado s verdade se verdade para todas as instncias do objeto. Por exemplo, voc pode verificar se todas as bolas para a posio ligeiramente a direita esto livre de coliso. As seguintes questes e aes relacionadas esto disponveis. (Observe que todos eles tm um cone diferente em forma e uma cor de fundo diferente para que eles possam mais facilmente ser distinguidos de outras aes.) Check Empty (Se uma posio est livre de coliso) if place_free(x,y) Esta pergunta retorna o valor true se a instncia atual, colocada na posio indicada, no ocasiona uma coliso com outro objeto. possvel especificar a posio tanto absoluta como relativa. Tambm pode-se indicar se apenas objetos slidos devam ser levados em conta, ou todos os objetos. Esta ao tipicamente usada para verificar se uma determinada instncia pode se mover para uma posio em particular. Check Collision (Se h uma coliso em uma posio) if place_empty(x,y) Esta pergunta tem ao reversa pergunta anterior. Retorna true se h uma coliso quando a instncia atual colocada em uma determinada posio (novamente, pode ser relativa tanto a objetos slidos, como a todos os objetos). Check Object (Se h objeto em uma posio) if place_meeting(x,y,obj) Esta pergunta retorna true se a instncia colocada na posio indicada encontra uma instncia de um objeto indicado. Test Instance (Se o nmero de instncias um certo valor) Pode-se especificar um objeto e um nmero. Se o nmero de instncias atual de um objeto igual ao nmero especificado, a pergunta retorna true; caso contrrio, retorna false. Tambm pode-se especificar se esta verificao pelo nmero de instncias deveria ser menor ao determinado valor ou maior do que o dado valor. tipicamente usado para verificar todas as instncias de um tipo de objeto em particular, freqentemente no momento de terminar um nvel ou mesmo um jogo. Test Chance (Sorteado um nmero, realize uma ao) random_set_seed(seed) possvel especificar o nmero de lados de um dado. Ento se o dado sorteia um determinado valor, o resultado true e uma determinada ao realizada. Isto pode ser utilizado para colocar um elemento aleatrio ao jogo. Por exemplo, em cada passo podese gerar em posio aleatria uma bomba ou modificar sua direo. Quanto maior for o nmero de lados do dado, menor so as chances. Atualmente, possvel inclusive utilizar nmeros reais para a especificao do nmero de lados. Usar nmeros menores que 1, entretanto, no faz sentido.

Check Question (Se o usurio responde sim a uma pergunta) Especifica-se uma pergunta. Uma caixa de dilogo mostrada ao jogador, com um boto yes e um boto no. O resultado true se o jogador responde yes. Test Expression (Se uma expresso verdadeira) Esta a pergunta mais geral. Pode-se especificar uma expresso qualquer. Se a expresso for avaliada true (isto , um nmero maior ou igual a 0.5) a ao realizada. Posteriormente, ser descrito mais sobre expresses. Check Mouse (Se um boto do mouse est pressionado) mouse_check_button(numb) Retorna true se o boto indicado do mouse est pressionado. Um uso padro no evento de passo (step event). Pode-se verificar se o boto do mouse est pressionado, e caso afirmativo, por exemplo mover o objeto para certa posio; use a ao jump to a point com valores mouse_x e mouse_y. Check Grid (Se instncia est alinhada com a grade) place_snapped(hsnap,vsnap) Retorna true se a posio de uma instncia encontra-se em uma grade (grid). Especificase o espaamento horizontal e vertical da grade. muito til em certas aes que so apenas permitidas quando a instncia ocupa uma determinada posio na grade. Start block (Incio de um bloco) Indica o incio de um bloco de aes. End block (Incio de um bloco) Indica o fim de um bloco de aes. Else (Seno) Atrs desta ao segue a parte seno (else) de uma pergunta, ou seja, executada quando o resultado da pergunta falso (false). Repeat next action (Repete uma ao) usada para repetir a prxima ao (ou bloco de aes) um determinado nmero de vezes. Simplesmente, indica-se quantas vezes deseja-se repetir. Exit event (Sair deste evento) exit Quando esta ao encontrada, nenhuma ao adicional, neste evento, executada. tipicamente usada aps uma pergunta. Por exemplo, quando uma posio est livre, nada precisa ser feito, ento pode-se sair do evento. Neste exemplo, as aes que se seguem so apenas executadas quando h uma coliso. Desejando-se maior controle sobre o que est acontecendo no jogo, possvel utilizar a linguagem de programao integrada (GML), que descrita na parte 4 da documentao. Se por um lado fornece maior flexibilidade do que a utilizao de aes, por outro exige controle de variveis. A seguir, algumas aes para ilustrar.

Execute code (Executar um pedao de cdigo) execute_string(str) Quando adiciona-se esta ao, uma janela exibida em que possvel digitar linhas de cdigo. Pode conter chamadas de funes simples ou mesmo cdigo mais complexo. Recomenda-se o uso apenas para pequenos trechos de cdigo. Para trechos mais extensos, deve-se usar scripts, que so descritos na parte 2 da documentao. Put some comment (Coloca um comentrio) Use esta ao para adicionar uma linha de comentrio lista de aes. A linha exibida em fonte itlico. Ela no faz nada quando da execuo do evento. A adio de comentrios ajuda na lembrana do que os eventos esto fazendo. Apesar de no fazer nada, lembre-se de que ainda uma ao, ou seja, quando colocada aps uma ao condicional, executada quando a condio verdadeira (true), ainda que no faa nada. Set Variable (Ajustar o valor de uma varivel) H muitas variveis integradas no jogo. Com esta ao, pode-se modific-las. Tambm possvel criar variveis prprias e atribuir valores a estas. Especifica-se o nome da varivel e o novo valor. Quando a caixa Relative marcada, o valor adicionado ao valor atual da varivel. Por favor, observe que isto s pode ser feito se a varivel j possui um valor atribudo a ela. If a variable has value (Se o valor da varivel igual a) Pode-se verificar qual o valor de uma varivel em particular. Se o valor igual ao nmero fornecido, a pergunta retorna true, seno retorna false. Tambm pode-se verificar se o valor menor ou maior do que um valor especificado. E ainda possvel usar esta ao para comparar 2 expresses. Draw the value of a variable (Desenhar o valor da varivel) Com esta ao, possvel exibir o valor de uma varivel em uma posio determinada da tela. Observe que isto s pode ser feito atravs do evento de desenho (draw event) de um objeto. Aes de Pontuao Na maioria dos jogos que o jogador ter uma determinada pontuao. Tambm muitos jogos do ao jogador um nmero de vidas. Finalmente, muitas vezes o jogador tem uma certa sade. As seguintes aes se torna mais fcil de lidar com a pontuao, a vida e a sade do jogador. Set score (Ajusta a pontuao) score Game Maker possui um mecanismo de escore integrado. O escore normalmente exibido no ttulo da janela. Pode-se usar esta ao para mudar o escore. Simplesmente fornecido o novo valor para o escore. Geralmente, se quer adicionar algum valor ao escore; neste caso, no se deve esquecer de marcar a caixa Relative. Test Score (Se a pontuao tem um valor)

Com esta ao, pode-se verificar se o escore alcanou um determinado valor. Indica-se o valor e se o escore deveria ser igual ao valor, ser menor, ou ser maior do que o valor. Draw Score (Desenha o valor da pontuao) draw_text(5,-2,'Pontos: ' + string(score)) Esta ao capaz de exibir o escore em uma posio particular da tela. Deve-se fornecer a posio e o ttulo a ser colocado junto do valor do escore. O escore desenhado com a fonte atual. Esta ao s pode ser utilizada no evento de desenho (drawing event) de um objeto. Show the highscore(Exibir as melhores pontuaes) draw_highscore(x1,y1,x2,y2) Para cada jogo, so mantidos os 10 melhore escores. Esta ao exibe esta lista. Se o escore atual est entre os 10, inserido na lista e o jogador pode digitar seu nome. Podese indicar qual a imagem de fundo a ser utilizada, se a janela deveria ter borda, qual a cor para a nova entrada e para as outras j existentes, e qual fonte usar. Clear Highscore (Limpar as melhores pontuaes) highscore_clear() Esta ao limpa a tabela de melhores escores. Set Lives (Ajustar o nmero de vidas) lives Game Maker tambm possui um sistema de vidas integrado. Com esta ao, possvel modificar o nmero de vidas que restam. Geralmente, ajusta-se para um valor como 3 no incio do jogo e decrementa-se ou incrementa-se este valor dependendo do que acontece. No se deve esquecer de marcar a caixa Relative em caso de se desejar adicionar ou subtrair o nmero de vidas. No momento em que o nmero de vidas se torna 0 (ou menor do que 0) um evento "no more lives" gerado. Test Lives (Se nmero de vidas igual a) if(lives==x) Serve para verificar se o nmero de vidas alcanou um determinado valor. Indica-se o valor e se o nmero de vidas deveria ser igual, menor ou maior do que o valor. Draw Lives (Desenhar o nmero de vidas) show_lives Pode-se exibir o nmero de vidas em uma determinada posio da tela. Fornece-se a posio e o ttulo a ser exibido junto ao nmero de vidas. O desenho feito com a fonte atual. Esta ao s pode ser utilizada no evento de desenho de um objeto. Draw Life Images (Desenhar o nmero de vidas com imagem) draw_sprite(sprite,subimg,x,y) Ao invs de exibir o nmero de vidas atravs de nmeros, freqentemente mais atraente usar imagens pequenas para representar este nmero; o que esta ao faz. Especifica-se a posio e a imagem; na posio indicada, o nmero de vidas exibido atravs de imagens. Esta ao s pode ser utilizada no evento de desenho de um objeto.

Set Health (Ajustar a energia) health Game Maker possui um mecanismo integrado de energia. Use esta ao para mudar o nvel de energia. Um valor 100 considerado mximo e 0 o mnimo. Simplesmente o novo valor fornecido. Geralmente, se quer subtrair algum valor do nvel de energia, ento deve-se marcar a caixa Relative. Quando a energia se torna menor ou igual a 0, gerado um evento do tipo out of health event. Test Health (Se energia igual a) Serve para verificar se a energia alcanou um valor em particular. Indica-se o valor e se a energia deveria ser igual, menor ou maior do que o valor especificado. Draw Health (Desenhar a barra de energia) draw_healthbar(x1,y1,x2,y2,amount,backcol,mincol,maxcol,direction,showback,sho wborder) Com esta ao pode-se desenhar a energia no formato de barra. Quando o valor 100, exibida uma barra completamente preenchida. Quando o valor 0, a barra fica vazia. Indica-se a posio e o tamanho da barra, bem como a cor e o fundo. Score Caption (Ajustar a informao de ttulo da janela) window_set_caption(caption) Geralmente, no ttulo da janela, so exibidos o nome da room (nvel) e pontuao. Com esta ao, possvel modificar isto. Pode-se indicar se a pontuao, as vidas, e/ou a energia, devem ou no ser exibidos, bem como ttulo que cada um destes deve ter. Aba Draw (Desenhar) Draw Sprite (Desenhar uma imagem de sprite) draw_sprite(sprite,subimg,x,y) Especifica-se a sprite, a posio (tanto absoluta quanto relativa posio atual da instncia) e a sub-imagem da sprite. (As sub-imagens so numeradas a partir de 0). Desejando-se desenhar a sub-imagem atual, usa-se o nmero -1. Draw Background (Desenhar uma imagem de plano de fundo) draw_background(back,x,y) Indica-se a imagem de fundo (background), a posio (absoluta ou relativa) e se a imagem deveria ser distribuda ou no por todo o room. Draw Text (Desenhar um texto) 'X: ' + string(x) Especifica-se o texto e a posio. Um smbolo # no texto interpretado como nova linha. (Use \# para obter o caracter #, ao invs de ir para uma nova linha). Assim, pode-se criar textos com mltiplas linhas. Se o texto comea com aspas (simples ou duplas), interpretado como uma expresso. Por exemplo, pode-se utilizar 'X: ' + string(x) para exibir o valor da coordenada x da instncia. (A varivel x armazena a coordenada x atual. A funo string() transforma este nmero em string. O caracter + combina as 2 strings).

Draw Scaled Text (Desenhar um texto transformado) draw_text_transformed(x,y,string,xscale,yscale,angle) Esta ao similar anterior, mas possvel especificar um fator de escala horizontal e vertical para mudar o tamanho do texto, bem como especificar um ngulo de rotao. Draw Rectangle (Desenhar um retngulo) draw_rectangle(x1,y1,x2,y2,outline) Especifica-se as coordenadas de 2 cantos opostos do retngulo; tanto relativas quanto absolutas posio atual da instncia. Horizontal Gradient (Desenhar um gradiente horizontal) draw_line_color(x1,y1,x2,y2,col1,col2) Esta ao tambm desenha um retngulo, mas utilizando uma cor com efeito gradiente, que se mod