domingo, 20 de março de 2011

. Game Maker


Game Maker é um motor de jogo, desenvolvido pela YoYo Games. O motor tem suporte a uma linguagem de script, chamada GML. O Game Maker é escrito em Delphi, motivo pelo qual não tem versões para outros sistemas que não o Microsoft Windows. Pode criar quais quer tipos de jogos, tais como: - Jogos em 2D (como plataforma, tiro etc.) - Jogos em 3D (apesar de não ter tanto suporte) - Jogos multijogadores online - Programas Todos os recursos dos jogos são organizados em pastas dentro do programa, que inclui pequenos programas para criar seus recursos, como editores de imagens, sons, scripts e fases. O Game Maker permite ainda salvar os recursos criados para que possam ser usados em outros jogos ou fora do programa e importar ações adicionais para estender as funções do programa.
Download: Game Maker.

sábado, 19 de março de 2011

. Eventos

Creater event: Este evento ocorre quando uma instância do objeto é criado. É normalmente utilizado para definir a instância em movimento e / ou para definir algumas variáveis ​​para a instância.  


Destroy event: Este evento ocorre quando a instância é destruída. Para ser mais preciso, isso acontece pouco antes de ser destruída, para que a instância ainda existe quando o evento é executado! Na maioria das vezes esse evento não é usado, mas você pode por exemplo usá-lo para mudar o placar ou para criar algum outro objeto.  


Alarm events: Cada instância tem 12 despertadores. Você pode definir esses despertadores usando determinadas ações (veja próximo capítulo). O despertador em seguida, carrapatos para baixo até chegar a 0 no momento em que o evento de alarme é gerada. Para indicar as acções para um relógio de alarme dado, primeiro você precisa selecioná-lo no menu. Despertadores são muito úteis. Você pode usá-los para que certas coisas acontecem de vez em quando. Por exemplo, um monstro pode mudar sua direção de movimento a cada 20 passos. (Nesses casos, uma das ações em caso deve definir o despertador de novo.)  


Step events: O evento acontece a etapa em cada etapa do jogo. Aqui você pode colocar as ações que precisam ser executados de forma contínua. Por exemplo, se um objeto deve seguir um outro, aqui você pode ajustar a direção do movimento em direção ao objeto que estamos seguindo. Tenha cuidado com este evento embora. Não coloque muitas ações complicadas no evento etapa de objetos dos quais há muitos exemplos. Isso pode retardar o jogo baixo. Para ser mais preciso, há três eventos diferentes etapas. Normalmente, você só precisa de um padrão. Mas usando o menu que você pode também selecionar o evento começará a etapa eo evento etapa final. O evento começará passo é executado no início de cada etapa, antes de quaisquer outros eventos acontecem. O evento passo normal é executado pouco antes das instâncias são colocadas em suas novas posições. O evento etapa final é executado no final da etapa, pouco antes do desenho. Isso normalmente é usado para mudar o sprite dependendo da direção atual.

Collision: eventsSempre que dois colidem casos (isto é, seus sprites sobreposição) um evento de colisão aparece. Bem, para ser precisos dois evento de colisão ocorrer, uma para cada instância. O exemplo pode reagir a este evento de colisão. Para esse efeito, a partir do menu selecione o objeto com o qual pretende definir o evento de colisão. Em seguida você coloca as ações aqui.Há uma diferença no que acontece quando a instância colide com um objeto sólido ou um objeto não-sólido. Primeiro de tudo, quando não há ações em caso de colisão, nada acontece. A instância atual simplesmente continua em movimento, mesmo quando o outro objeto é sólido. Quando o evento de colisão contém ações acontece o seguinte:Quando o outro objeto é sólido, a instância é colocado de volta no seu lugar anterior (antes da colisão). Em seguida, o evento é executado. Finalmente, o exemplo é transferido para sua nova posição. Assim, se o caso por exemplo inverte a direção do movimento, a exemplo salta contra a parede, sem parar. Se ainda houver uma colisão, a instância é mantido no seu lugar anterior. Por isso, pára de se mover efetivamente.Quando o outro objeto não é sólido, a instância não é colocada de volta. O evento é simplesmente executado com o exemplo em sua posição atual. Além disso, não há nenhuma verificação para uma segunda colisão. Se você pensar bem, esta é a única coisa lógica que deve acontecer. Como o objeto não é sólida, podemos simplesmente passar por cima dele. O evento avisa-nos que isto está acontecendo.Há muitos usos para o evento de colisão. Instâncias podem usá-lo a saltar de encontro às paredes. Você pode usar isso para destruir objetos, quando, por exemplo, eles são atingidos por uma bala.  

Keyboard events: Quando o jogador pressiona uma tecla, ocorre um evento de teclado para todas as instâncias de todos os objetos. Não é um evento diferente para cada chave. No menu, você pode pegar a chave para o qual você deseja definir o evento de teclado e ações de arrastar próxima lá. Claramente, apenas alguns objetos precisam eventos para apenas algumas teclas. Você recebe um evento em cada etapa, desde que o jogador mantém a tecla pressionada. Há dois eventos de teclado especial. Um é chamado . Este evento acontece em cada etapa, quando nenhuma tecla for pressionada. O segundo é chamado e acontece o que for pressionada. Quando o jogador pressiona várias chaves, os eventos para todas as teclas pressionadas acontecer. Observe que as teclas do teclado numérico só produzem os eventos correspondentes quando é pressionado.  

Mouse events: Um evento de mouse acontece de uma instância sempre que o cursor do mouse está dentro do sprite que representa a instância. Dependendo de quais botões do mouse são pressionados, você obtém o botão não, o botão esquerdo, botão direito, ou o evento do botão do meio. Os eventos de botão do mouse são gerados em cada etapa, desde que o jogador mantém o botão do mouse pressionado. Os eventos de imprensa são geradas apenas uma vez quando o botão for pressionado. Os eventos de lançamento são gerados apenas quando o botão for liberado. Note-se que esses eventos só ocorrem quando o mouse está acima da instância. Se você quiser reagir a eventos do mouse ou pressione a liberação em um lugar arbitrário, utilize os eventos do mouse global que pode ser encontrado em um submenu. Há dois eventos de mouse especial. O rato entra evento acontece quando o mouse entra a instância. O evento acontece quando o mouse deixar o mouse deixa o exemplo. Estes eventos são normalmente usados ​​para modificar a imagem ou jogar algum som. Roda do mouse para cima e para baixo da roda do mouse eventos acontecem quando o usuário move a roda do mouse. Finalmente, há uma série de eventos relacionados com o joystick. Você pode indicar ações para os quatro principais direções do joystick (em sentido diagonal os dois eventos acontecem). Além disso, você pode definir ações para até 8 botões do joystick. Você pode fazer isso tanto para o joystick primária e secundária do joystick.  

Other events: Há uma série de outros eventos que podem ser úteis em certos jogos. Elas são encontradas neste menu. Os seguintes eventos podem ser encontrados aqui:- Fora do quarto: Este evento ocorre quando a instância está completamente fora da sala. Isso normalmente é um bom momento para destruí-la.


- Interseção de fronteira: Este evento ocorre quando a instância se cruza o limite da sala, ou seja, ele está (pelo menos), parcialmente fora do quarto.

- Vistas: Aqui você encontra uma série de eventos que são úteis quando você usar exibições em seus - quartos. Estes eventos de teste se a instância está completamente fora de uma visão particular ou interesects a fronteira vista.

- Jogo começa: Este evento acontece para todas as ocorrências no primeiro quarto, quando o jogo começa. Isso acontece antes do evento começar quarto (ver abaixo), mas após os eventos de criação para as instâncias na sala. Este evento é normalmente definida em apenas um "controller" objeto e é usado para iniciar uma música de fundo e para inicializar algumas variáveis, ou carregar alguns dados.

- Fim do Jogo: O evento acontece a todas as instâncias, quando o jogo termina. Novamente geralmente apenas um objeto define este evento. Por exemplo, é usado para armazenar dados em um determinado arquivo.

- Sala de começar: Este evento acontece para todas as instâncias, inicialmente, em uma sala quando a sala começa. Isso acontece após os eventos de criação.

- final do quarto: Este evento acontece a todas as instâncias existentes quando termina o quarto.

- Não vive mais: Game Maker tem um sistema embutido de vidas. Há uma ação para definir e alterar o número de vidas. Sempre que o número de vidas torna-se menor ou igual a 0, esse evento acontece. Ele é geralmente usado para encerrar ou reiniciar o jogo.

- Não mais da saúde: Game Maker tem um built-in sistema de saúde. Existe uma ação para definir e alterar a saúde. Sempre que a saúde torna-se menor ou igual a 0, esse evento acontece. Ele é geralmente usado para reduzir o número de vidas ou para reiniciar o jogo.

- fim de Animação: Como indicado acima, uma animação consiste em uma série de imagens que são mostradas uma após a outra. Após o último é mostrado que começar de novo com o primeiro. O evento acontece precisamente no momento em que. Como um exemplo, isso pode ser usado para alterar a animação, ou destruir a instância.

- Fim do caminho: Este evento ocorre quando a instância segue um caminho e no fim do caminho é alcançado.

- Botão Fechar: Este evento ocorre quando o usuário clica no botão fechar da janela. Isso só acontece quando desativar as definições de jogo a opção de ter o botão para fechar comportar-se como a tecla Escape.Definida pelo usuário: Há 16 desses eventos. Eles normalmente nunca acontece, salvo se você chamá-los de um pedaço de código.  


Draw event: Casos, quando visível, chamar a sua sprite em cada passo na tela. Quando você especificar ações em caso de desenho, o sprite não é desenhado, mas essas ações são executadas em seu lugar. Isso pode ser usado para desenhar algo que não o sprite, ou primeiro fazer algumas alterações no sprite parâmetros. Há uma série de desenho ações que são especialmente feitos para uso em caso de desenho. Observe que o evento desenho só é executado quando o objeto é visível. Observe também que, independente do que você desenha, os eventos de colisão são baseadas no sprite que está associado com a instância.  


Key Press events: Este evento é semelhante ao evento de teclado, mas isso acontece apenas uma vez quando a tecla é pressionada, ao invés de continuamente. Isso é útil quando você quer que uma ação aconteça apenas uma vez.  



Key Release events: Este evento é semelhante ao evento de teclado, mas isso acontece apenas uma vez quando a tecla é liberada, em vez de continuamente.Em algumas situações, é importante compreender a ordem em que o Game Maker processa os eventos. Este é o seguinte:Passo eventos começamEventos de alarmeTeclado, pressione a tecla e eventos de liberação de chavesEventos de mousePasso eventos Normal(agora todas as instâncias são definidas para seus novos cargos)Os eventos de colisãoPasso eventos do fimDesenhe eventosO criar, destruir, e outros eventos são realizados quando as coisas acontecem correspondente.   

sexta-feira, 18 de março de 2011

. Acções de movimento

O primeiro conjunto de acções consiste aqueles relacionados ao movimento de objetos. As ações a seguir existir:


Move Fixed
Utilize esta ação para iniciar a instância em movimento em uma direção específica. Você pode indicar a direção usando os botões com as setas nele. Use o botão do meio para parar o movimento. Também é necessário especificar a velocidade do movimento. Esta velocidade é dada em pixels por passo. De preferência, não use velocidades negativas. Você pode especificar múltiplas direções. Neste caso, uma escolha aleatória é feita. Desta forma você pode deixar um monstro começar a se mover para a esquerda ou direita.

Move Free
Esta é a segunda maneira de especificar um movimento. Aqui você pode indicar uma direção precisa. Este é um ângulo entre 0 e 360 ​​graus. 0 significa para a direita. A direção é anti-horário. Assim, por exemplo, 90 indica uma direção ascendente. Se você quer uma direção arbitrária, você pode tipo aleatória (360). Como você verá abaixo da função aleatória dá um número aleatório menor do que o valor indicado. Como você deve ter notado que há uma opção chamada relativa. Se você verificar isso, o novo movimento é adicionado ao anterior. Por exemplo, se a instância está se movendo para cima e você adicionar um pouco de movimento à esquerda, o novo movimento vai ser para cima para a esquerda.

Mover Para
Esta ação dá uma terceira maneira de especificar um movimento. Você indica uma posição e uma velocidade ea instância começa a se mover com a velocidade para a posição. (Não vai parar na posição!) Por exemplo, se você quer uma bala a voar para a posição da nave pode ser usado como spaceship.x posição, spaceship.y. (Você aprenderá mais sobre o uso de variáveis ​​como estas abaixo.) Se você marcar a caixa relativa, você pode especificar a posição relativa à posição atual da instância. (A velocidade não é tomada relativamente!)

Velocidade Horizontal
A velocidade de uma instância composta por uma parte horizontal e outra vertical. Com esta ação, você pode mudar a velocidade horizontal. A velocidade horizontal positiva significa um movimento para a direita. A negativa significa um movimento para a esquerda. A velocidade vertical permanecerá o mesmo. Utilização relativa de aumentar a velocidade horizontal (ou diminuí-lo, fornecendo um número negativo).

Vertical Speed
De formasemelhante, com esta ação, você pode mudar a velocidade vertical da instância.

Definir Gravity
Com esta ação, você pode criar a gravidade de um objeto particular. Você pode especificar uma direção (ângulo entre 0 e 360 ​​graus) e velocidade, e em cada etapa deste valor de velocidade na direção dada é adicionado ao movimento atual da instância do objeto. Normalmente você precisa de um incremento de velocidade muito pequena (como 0,01). Normalmente, você quer uma direção para baixo (270 graus). Se você marcar a caixa relativa a aumentar a velocidade da gravidade e da direção. Note que, ao contrário da vida real, o objeto pode ter diferentes sentidos de diferentes gravidades.

Reverso Horizontal
Com essa ação você inverte o movimento horizontal da instância. Isso pode ser usado por exemplo quando o objeto colide com uma parede vertical.

Reverse Vertical
Com essa ação você inverte o movimento vertical da instância. Isso pode ser usado por exemplo quando o objeto colide com uma parede horizontal.

Conjunto de fricção
Fricção diminui as instâncias quando se movem. Você pode especificar a quantidade de atrito. Em cada etapa deste montante é subtraído a velocidade até que a velocidade se torna 0. Normalmente, você precisa de um número muito pequeno aqui (como 0,01).

Ir para a posição
Utilizando este recurso você pode colocar a instância em uma determinada posição. Você simplesmente especifica o x-e y-coordenadas, ea instância é colocado com o seu ponto de referência sobre essa posição. Se você marcar a caixa relativa, a posição é relativa à posição atual da instância. Esta acção é muitas vezes utilizado para se mover continuamente e um exemplo. Em cada etapa, incrementamos a posição um pouco.

Ir para o Início
Esta ação coloca a instância de volta na posição onde ele foi criado.

Ir para Random
Esta ação move o exemplo para uma posição aleatória na sala. Apenas as posições são escolhidas quando a instância não cruzam qualquer instância sólida. Você pode especificar o encaixe usado. Se você especificar valores positivos, a ser escolhido com coordenadas múltiplos inteiros dos valores indicados. Isso poderia por exemplo ser usado para manter a instância alinhadas com as células do seu jogo (se houver). Você pode especificar um horizontal e vertical separadas tirando tirando.

Alinhar à grade
Com esta ação, pode terminar a posição da instância a um grid. Você pode indicar tanto o valor horizontal e vertical agarrando (ou seja, o tamanho das células da grade). Isso pode ser muito útil para se certificar de que as instâncias ficar em uma grade.

Wrap tela
Com esta ação, você pode deixar um envoltório em torno de instância, ou seja, quando sai de um lado do quarto, ela reaparece do outro lado. Esta ação é normalmente utilizada no evento fora. Observe que a instância deve ter uma velocidade de acondicionamento para o trabalho, porque a direção do envolvimento é com base na direção do movimento. Você pode indicar se envolver apenas horizontal, apenas os verticais, ou em ambas as direções.

Mover-se para Contato
Com esta ação, você pode mover a instância em uma determinada direção até uma posição de contato com um objeto seja alcançado. Se já existe uma colisão na posição atual da instância não é movido. Caso contrário, a instância é colocado logo antes da colisão. Você pode especificar a direção, mas também uma distância máxima para se mover. Por exemplo, quando a instância está caindo você pode mover uma distância máxima para baixo até que um objeto é encontrado. Você também pode indicar se a considerar apenas um objeto sólido ou todos os objetos. Normalmente você colocar essa ação em caso de colisão para se certificar de que a instância pára em contato com o exemplo de outros envolvidos na colisão.

Ressalto
Quando você coloca essa ação em caso de colisão com algum objeto, a instância de se recuperar a partir desse objeto de uma forma natural. Se você definir o parâmetro preciso para falso, só as paredes horizontais e verticais são tratados corretamente. Quando você define a verdade precisa também inclinado (e até mesmo curvas) paredes são tratados corretamente. Isto é ainda mais lento. Também você pode indicar se a saltar apenas contra objetos sólidos ou contra todos os objetos. Por favor, percebemos que o salto não é totalmente preciso porque isso depende de muitas propriedades. Mas em muitas situações, o efeito é bom o suficiente.