Conectar-se

Esqueci minha senha

Últimos assuntos
» Nota de esclarecimento - GMBR voltou!
Hoje à(s) 20:33 por Willy

» Regras do Fórum
Hoje à(s) 19:02 por GMBR

» Retorno da GMBR!!!
Ter 24 Jan 2017, 15:43 por GMBR

» Criando IA Simples para inimigos
Qua 25 Nov 2015, 19:22 por DJDAVYD

» Crio Trilha Sonora para Games!
Qui 27 Ago 2015, 13:50 por Isaias Malafaia

» Western Duels
Seg 24 Ago 2015, 07:47 por theguitarmester

» Dúvida sobre strings, lendo txt
Sab 22 Ago 2015, 20:31 por Pai véi

» Janela Modal
Sab 22 Ago 2015, 09:23 por Pai véi

» LudumDare #33
Sex 21 Ago 2015, 21:17 por WellingtonBecker

» GMS sempre salva projeto ao compilar?
Sex 21 Ago 2015, 12:32 por Pai véi

» Tipo de Draw que dê melhor fps...
Sex 21 Ago 2015, 12:25 por Pai véi

» Banco de Dados online fácil de configurar
Sex 21 Ago 2015, 11:47 por Pai véi

» Ficou estranho esse efeito na terra?
Qua 19 Ago 2015, 20:08 por Adriel

» Você consegue decifrar o que é isso?
Qua 19 Ago 2015, 15:48 por Mateus O de Andrade

» Texto centralizado em sprite 64x64
Qua 19 Ago 2015, 14:00 por Vandson Fernandes

» [Tutorial] Um Único Script para Todos Diálogos do Jogo
Ter 18 Ago 2015, 22:12 por dharrison

» VIDEO AULAS - Plataforma - Recriando Super Mario
Ter 18 Ago 2015, 20:44 por Adriel

» Ajuda deixar room maior
Ter 18 Ago 2015, 15:56 por Stickman

» OST - Rain From The Past (Para Main Themes)
Seg 17 Ago 2015, 23:00 por Jessezyn

» #DGM Aula 01 - Views
Seg 17 Ago 2015, 00:16 por victor13.

» Alguém sabe as dimensões de um galaxy s5?
Dom 16 Ago 2015, 20:06 por vitorfernandes13

» Conquer The Kingdom
Dom 16 Ago 2015, 12:13 por DVictorPS

» [Ajuda] Bug ds_list
Dom 16 Ago 2015, 08:27 por Witen

» câmera seguir player com touch control android
Sab 15 Ago 2015, 15:05 por Lighter

» Apk não roda no celular
Sab 15 Ago 2015, 12:10 por xLuiZzz


Instâncias e objetos

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Instâncias e objetos

Mensagem por PedroX em Sex 18 Nov 2011, 19:22

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)

PedroX

Ranking : Nota C
Notas recebidas : C+B
Data de inscrição : 26/07/2008
Número de Mensagens : 6034
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Prêmios
   :
   :
   :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Instâncias e objetos

Mensagem por Clarux em Sex 18 Nov 2011, 19:32

Muito bom tutorial,..,como todos os seus
Tenho a certeza que vai ajudar muito pessoal! ;)
avatar
Clarux

Data de inscrição : 09/08/2011
Número de Mensagens : 58
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Prêmios
   : 0
   : 0
   : 0

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Instâncias e objetos

Mensagem por saim em Qua 28 Dez 2011, 11:49

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.
Você quis dizer "room"

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.
avatar
saim

Ranking : Nota B
Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Número de Mensagens : 2964
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Prêmios
   : 1
   : 0
   : 3

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Instâncias e objetos

Mensagem por PedroX em Qua 28 Dez 2011, 12:07

Fiz uma pequena alteração no tutorial.
Parece que está mais simples agora.

Até mais!

PedroX

Ranking : Nota C
Notas recebidas : C+B
Data de inscrição : 26/07/2008
Número de Mensagens : 6034
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Prêmios
   :
   :
   :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Instâncias e objetos

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum