Entrar
Últimos assuntos
» player não consegue andarpor lovn7 Qui 21 Nov 2024, 13:33
» É possível fazer istó no game maker
por William Lima Qui 21 Nov 2024, 10:56
» Rio Rise - novo launcher do Gta San Andreas SAMP Brasil
por Lua Sáb 16 Nov 2024, 20:22
» (Resolvido) Cenario longo x Texture Pages
por josuedemoraes Sáb 16 Nov 2024, 15:31
» Kids' band
por Adilson Lucindo Santos Sex 15 Nov 2024, 12:23
» (RESOLVIDO) Engasgos-Troca de Sprites/animações
por josuedemoraes Ter 12 Nov 2024, 01:49
» Block Room - DEMO
por Joton Qua 06 Nov 2024, 22:58
» Game Infinito vertical (subindo)
por macmilam Sáb 26 Out 2024, 12:36
» Retorno da GMBR!!!
por Dancity Ter 22 Out 2024, 16:36
» Máquina de estados
por aminaro Qui 10 Out 2024, 13:33
» como faço pra um objeto colidir com o outro e diminuir a vida do player ?
por josuedemoraes Qui 03 Out 2024, 16:51
» RESOLVIDO: Colisão com objetos moveis
por josuedemoraes Qua 02 Out 2024, 20:28
» Crypt of the Blood Moon
por divin sphere Qua 11 Set 2024, 18:18
» como fazer um objeto seguir?
por divin sphere Dom 18 Ago 2024, 18:08
» Procuro de alguém para Modelar/Texturizar/Animar objetos 3D
por un00brn Dom 11 Ago 2024, 11:10
» Destruição de cenário (estilo DD Tank)
por CoronelZeg Sex 09 Ago 2024, 17:16
» RESOLVIDO-Como destruir uma instancia especifica de um objeto
por josuedemoraes Ter 23 Jul 2024, 00:40
» Automatizar a coleta de id
por GabrielXavier Seg 22 Jul 2024, 18:01
» Preciso de ajuda para concluir um pequeno projeto
por lmoura Qui 27 Jun 2024, 15:45
» ANGULO ACOMPANHAR O OBJETO
por Klinton Rodrigues Qui 27 Jun 2024, 08:34
» Musica reinicia quando sala reinicia
por GabrielXavier Ter 18 Jun 2024, 07:28
» como fazer uma copia de gd
por generico_cube Sex 14 Jun 2024, 15:48
» Square Adventure
por guilherme551 Ter 11 Jun 2024, 09:54
» como posso definir limite de uma variavel
por GabrielXavier Sex 07 Jun 2024, 14:14
» [Resolvido] Dúvida, colisão única de objeto
por vdm842 Sex 24 maio 2024, 09:50
Instâncias e objetos
3 participantes
GMBR :: Ensine & Aprenda :: Tutoriais :: Game Maker
Página 1 de 1
Instâncias e objetos
Introdução ao tutorial
Tema: Instâncias e objetos
Requerimentos:
Não há nenhum importante.
O que você irá aprender:
- O que são instâncias
- O que são objetos
- Diferenças entre os dois
- Manipular instâncias
- Manipular objetos
Teoria
Ilustração da forma de bolo:
Objetos são como a fôrma do bolo. Eles moldam o que acontecerá no jogo, mas você não tem como usá-los diretamente.
Instâncias são como bolos. Elas se parecem com a forma, são todas iguaizinhas, mas uma vez criadas, passam a se comportar individualmente, independentes umas das outras.
O que isso quer dizer?
Os objetos são os moldes para a criação das instâncias. Sem eles, o jogo não funcionaria. Muitas vezes eles possuem sprites, outras vezes texto, efeitos especiais, entre outros. Eles também podem ser invisiveis, realizando outras tarefas especiais.
Os objetos possuem eventos. Um evento acontece quando uma tecla/botão é pressionada ou solta, quando ocorre uma colisão de objetos, no inicio do jogo, no fim do jogo, no inicio da fase atual, no fim da fase atual, nos alarmes, na criação de uma instância.
Note que as sprites são imagens, que não podem fazer nada sozinhas. Elas representam o objeto, que possui os códigos necessários para o funcionamento das instâncias.
Em resumo, um objeto é o conjunto de códigos que as instâncias vão executar. As instâncias agem de acordo com os códigos do objeto, mas geralmente elas agem diferente, por que suas condições podem ser diferentes (elas podem estar perto de um objeto, podem ter levado um tiro e a outra não, etc). O objeto diz o que ela deve fazer ao levar um tiro, ela faz o que deve fazer, mas as outras que não levaram tiro vão fazer outra coisa.
Então note: o objeto não fica na fase (ele é puro código), já as instâncias ficam nas fases (não existem sem as fases) e agem de acordo com o seu objeto (código).
Para se trabalhar com os objetos, geralmente é usado o editor de objetos, mas também pode-se usar códigos para editar os objetos durante o jogo. Isso afetará todas as instâncias desse objeto.
Prática
Agora vamos aprender a manipular os objetos e as instâncias.
Objetos
object_set_sprite(object, sprite) - troca o sprite do objeto pelo sprite. Para ficar sem sprite, coloque -1.
object_set_solid(object, solido/não-sólido) - torna o objeto sólido (1) ou não (0).
object_set_visible(object, visivel/não-visivel) - o objeto fica visivel (1) ou não (0)
object_set_depth(object, depth) - o depth do objeto é trocado para -depth-.
object_set_persistent(object, persist/não-persist) - define o objeto como persistente (1) ou não (0)
object_set_mask(object, mask) - define a mascara do objeto como o sprite (mask).
object_set_parent(object, parent) - define o pai do objeto como o objeto parent.
Para se obter os dados em vez de definir, use o mesmo modelo, por exemplo:
object_get_solid()
object_add() - cria um objeto e retorna seu indice
object_delete(indice) - deleta o objeto com o indice
object_event_add(indice, evento, numero do evento, "codigo") - adiciona o "codigo" no evento do objeto
object_event_clear(indice, evento, numero do evento) - apaga o evento do objeto
Instâncias
instance_exists(objeto ou id da instância ou all) - retorna true se existe uma instância pelo menos daquele objeto na tela. Você pode colocar o id de uma instância ou all.
instance_number(objeto) - retorna o numero de instâncias daquele objeto na room
instance_position(x, y, objeto) - retorna o id da instância que está naquela posição
instance_nearest(x, y, objeto) - retorna o id da instância mais próxima daquela posição
instance_furthest(x, y, objeto) - retorna o id da instância mais longe daquela posição
instance_create(x, y, objeto) - cria uma instância do objeto na posição e retorna o id
instance_destroy() - destrói a instância que chamou esse evento. Mas se todas as instâncias possuem o mesmo código (objeto), como uma instância chamará e outras não? Simples, depende das condições em que ela está no jogo.
instance_change(objeto, perform) - troca a instância por uma instância do objeto indicado. Perform deve ser true caso você deseje que o Destroy e o Create sejam executados, ou false, caso contrário.
position_destroy(x, y) - destrói todas as instâncias que o seu sprite toca no ponto (x,y).
Este não é o fim do tutorial.
Quando for, eu edito aqui.
Aceito sugestões, criticas e duvidas.
Até mais!
Última edição por Pedrø em Sex 30 Dez 2011, 22:21, editado 5 vez(es)
Leia o Manual do Iniciante e a Lista de Tutoriais, para aprender bastante sobre o GM.
Recomendo o Manual completo das colisões, bem útil.
O exemplo Criar um chat (banir, kickar, etc) é interessante.
Para seu jogo ficar rápido e legal, aprenda a Aumentar o desempenho do seu jogo.
Aprenda a calcular a velocidade de suas animações
Entre para o Clube do Inglês:
Re: Instâncias e objetos
Muito bom tutorial,..,como todos os seus
Tenho a certeza que vai ajudar muito pessoal! ;)
Tenho a certeza que vai ajudar muito pessoal! ;)
Clarux- Data de inscrição : 09/08/2011
Reputação : 0
Número de Mensagens : 58
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Instâncias e objetos
Você quis dizer "room"instance_exists(objeto ou id da instância ou all) - retorna true se existe uma instância pelo menos daquele objeto na tela. Você pode colocar o id de uma instância ou all.
Está excelente, mas acho que deveria usar um palavreado menos técnico. Quem vai ler e aproveitar o conteúdo são os novatos, então quanto mais simples for a explicação, mais utilidade vai ter o tutorial.
Não digo que você deva tirar nada. Toda informação ali é importante. Mas sugiro acrescentar aquela história de bolo e fôrma, pra explicar a diferença, antes de partir pra parte técnica. Se você não lembra,
- história do bolo e fôrma:
- Objetos são como a fôrma do bolo. Eles moldam o que acontecerá no jogo, mas você não tem como usá-los diretamente.
Instâncias são como bolos. Elas se parecem com a fôrma, são todas iguaizinhas, mas uma vez criadas, passam a se comportar individualmente, independentes umas das outras.
saim- Games Ranking :
Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Reputação : 136
Número de Mensagens : 3033
Prêmios :
x 1 x 6 x 0
x 1 x 0 x 3
x 0 x 0 x 0
Re: Instâncias e objetos
Fiz uma pequena alteração no tutorial.
Parece que está mais simples agora.
Até mais!
Parece que está mais simples agora.
Até mais!
Leia o Manual do Iniciante e a Lista de Tutoriais, para aprender bastante sobre o GM.
Recomendo o Manual completo das colisões, bem útil.
O exemplo Criar um chat (banir, kickar, etc) é interessante.
Para seu jogo ficar rápido e legal, aprenda a Aumentar o desempenho do seu jogo.
Aprenda a calcular a velocidade de suas animações
Entre para o Clube do Inglês:
GMBR :: Ensine & Aprenda :: Tutoriais :: Game Maker
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos