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
[mini-tuto] Instance Creation Code
+13
The Wizard
henriquebr
Kabeção
Willy
Super Maker
GameMakerTutoriais
Tiago Lima
TRFN
Mr.Brum
Klior
Davichococat
Pit Bull
PedroX
17 participantes
GMBR :: Ensine & Aprenda :: Tutoriais :: Game Maker
Página 1 de 2
Página 1 de 2 • 1, 2
[mini-tuto] Instance Creation Code
Instance Creation Code
Descrição: Um pequeno tutorial tratando de uma possibilidade escondida.
Plataforma:
Existe no Game Maker uma possibilidade que eu fui encontrar faz uma semana. Depois de tanto tempo, fui achar só agora. É muito útil essa possibilidade.
Para acessá-la, entre em alguma room e clique, com o botão CTRL pressionado, em alguma instância com o botão direito do mouse. Agora seleciona a opção Creation Code.
O que podemos fazer com isso?
Primeiro lembremos a ordem básica dos eventos:
1- Instance Creation Code
2- Create (serve para todas as instâncias desse objeto)
3- Game Start
4- Room - Creation code
5- Room Start
E então?
Suponhamos que você está lá fazendo um jogo ao estilo Worlds Hardest Game, quer que uma armadilha vá para um lado e a outra vá para o outro. Ai você pensa, vou colocar:
(id_de_uma).hspeed=5
(id_de_outra).hspeed=-5
No entanto, você pode colocar no Creation Code de cada uma sua velocidade.
Como esse código vem antes do Create, você pode colocar na instância uma variável que defina de que tipo ela é, e no Create mover de acordo com o tipo. Há várias possibilidades.
Fim.
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: [mini-tuto] Instance Creation Code
O legal e que tem como travar o objeto,assim você não pode exclui-lo sem querer.
@tutorial:gostei dele ser primeiro que o create,mais fiquei com uma duvida,como faço para colocar isso nos instances criados depois que o jogo foi executado(preciso disso *-*)?
@tutorial:gostei dele ser primeiro que o create,mais fiquei com uma duvida,como faço para colocar isso nos instances criados depois que o jogo foi executado(preciso disso *-*)?
Re: [mini-tuto] Instance Creation Code
Como não descobri isso antes?
Vai ser muito útil. Obrigado por compartilhar a descoberta. É uma pena que a maioria dos meus objetos sejam gerados por códigos e não usando o layout da room. Mas já tive várias ideias de como usar o "Instance Creation Code".
Mas ainda me pergunto porque o Room Creation Code e o Instance Creation Code estão tão escondidos. Vai entender o Game Maker
Re: [mini-tuto] Instance Creation Code
Hmmm, interessante isso, também não conhecia essa possibilidade
pelo que entendi esse Instance Creation Code
é o mesmo evento quando você faz dessa forma:
ii = instance_create(x, y, obj);
ii.a = 1;//Inicio do Instance Creation Code
ii.b = 2;
ii.c = 3;//Fim do Instance Creation Code
Isso evita ter que criar um criador de objetos, no caso de objetos fixos, com características diferentes..
pelo que entendi esse Instance Creation Code
é o mesmo evento quando você faz dessa forma:
ii = instance_create(x, y, obj);
ii.a = 1;//Inicio do Instance Creation Code
ii.b = 2;
ii.c = 3;//Fim do Instance Creation Code
Isso evita ter que criar um criador de objetos, no caso de objetos fixos, com características diferentes..
Klior- Data de inscrição : 07/03/2010
Reputação : 13
Número de Mensagens : 426
Prêmios :
x 0 x 1 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Plataformas :- Game Maker 8.0 ou 8.1
- C#
- Javascript
Re: [mini-tuto] Instance Creation Code
Então e por isso que eu colocava isso dae e a variavel que eu mudava não tinha efeito pois no create do objeto tinha o a=0(exemplo),fazendo a variavel ganhar esse valor.Klior escreveu:Hmmm, interessante isso, também não conhecia essa possibilidade
pelo que entendi esse Instance Creation Code
é o mesmo evento quando você faz dessa forma:
ii = instance_create(x, y, obj);
ii.a = 1;//Inicio do Instance Creation Code
ii.b = 2;
ii.c = 3;//Fim do Instance Creation Code
Isso evita ter que criar um criador de objetos, no caso de objetos fixos, com características diferentes..
Muito obrigado cara,você e o pedro me ensinaram algo hoje o/
Re: [mini-tuto] Instance Creation Code
Você precisa primeiro colher o id do da instância desejada.@tutorial:gostei dele ser primeiro que o create,mais fiquei com uma duvida,como faço para colocar isso nos instances criados depois que o jogo foi executado(preciso disso *-*)?
Depois use o mecanismo do "." para setar a variável no lugar desejado.
Exemplo do klior:
- Código:
ii = instance_create(x, y, obj); //capturou o id da instancia criada,através da var ii.
ii.a = 1;//setou uma var local na instancia colhida,logo após criá-la.
ii.b = 2;//setou uma var local na instancia colhida,logo após criá-la.
ii.c = 3;//setou uma var local na instancia colhida,logo após criá-la.
Re: [mini-tuto] Instance Creation Code
Que bom que gostaram.
Dá para fazer muita coisa sem complicar.
No caso Klior, o ICC é mais prático, pois você pode colocar qualquer código.
Dá para fazer muita coisa sem complicar.
No caso Klior, o ICC é mais prático, pois você pode colocar qualquer código.
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: [mini-tuto] Instance Creation Code
Hum,bem interessante.
Inclusive já até conhecia este metodo,mas não sabia que este faria tanta diferença(digo,pensava que era uma coisa que a maioria sabia).
Inclusive tem um pequeno detalhe que,quando a instancia tem um código deste tipo,e vocÊ passa o mouse por cima dela,aparece em baixo o x e y do mouse e um escrito "Has Code"...Observem depois...
O bom e que com este metodo não e preciso criar um milhão de instancias apenas para fazer um sistema de moedas-bonus para fazes de games por exemplo.
Inclusive já até conhecia este metodo,mas não sabia que este faria tanta diferença(digo,pensava que era uma coisa que a maioria sabia).
Inclusive tem um pequeno detalhe que,quando a instancia tem um código deste tipo,e vocÊ passa o mouse por cima dela,aparece em baixo o x e y do mouse e um escrito "Has Code"...Observem depois...
O bom e que com este metodo não e preciso criar um milhão de instancias apenas para fazer um sistema de moedas-bonus para fazes de games por exemplo.
Re: [mini-tuto] Instance Creation Code
Legal essa dica.
Semana passada eu estava utilizando o Instance Creation Code para dar uma ID personalizada de zero a dez as instancias de um certo objeto para sincroniza-los a um array e passei a tarde toda até me tocar desse detalhe da ordem dos eventos, eu pensava que tinha que declarar as variáveis no Create do objeto primeiro e na verdade eu estava era redefinindo elas
Que vacilo
EDIT_________
TRFN, no game maker 8.1 se você pressionar C as instancias que tem código ficam iluminadas e se você posicionar o mouse em cima da instancia aparece o código.
Semana passada eu estava utilizando o Instance Creation Code para dar uma ID personalizada de zero a dez as instancias de um certo objeto para sincroniza-los a um array e passei a tarde toda até me tocar desse detalhe da ordem dos eventos, eu pensava que tinha que declarar as variáveis no Create do objeto primeiro e na verdade eu estava era redefinindo elas
Que vacilo
EDIT_________
TRFN, no game maker 8.1 se você pressionar C as instancias que tem código ficam iluminadas e se você posicionar o mouse em cima da instancia aparece o código.
Re: [mini-tuto] Instance Creation Code
Que fino heim! Sabia disso não! Aprendi mais uma. Legal também é que esse popup dá opção pra trancar cada instância separadamente, aí sim, trancar instância fica útil!
Valeu!!
Valeu!!
GameMakerTutoriais- Data de inscrição : 29/01/2011
Reputação : 26
Número de Mensagens : 800
Prêmios :
x 0 x 4 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: [mini-tuto] Instance Creation Code
A instância é trancada para evitar erros, como apagar ou mover?
O evento poupa várias coisas: criar outros objetos do mesmo tipo só para fazer algo diferente (como menus ou inimigos), ir na room e pegar o id só para aplicar o código naquela instância (sendo que se apagar o id vai mudar e vai dar o mesmo trabalho), além de que você já vê onde estará sua instância e fica mais fácil programá-la.
O evento poupa várias coisas: criar outros objetos do mesmo tipo só para fazer algo diferente (como menus ou inimigos), ir na room e pegar o id só para aplicar o código naquela instância (sendo que se apagar o id vai mudar e vai dar o mesmo trabalho), além de que você já vê onde estará sua instância e fica mais fácil programá-la.
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: [mini-tuto] Instance Creation Code
Eu uso pra isso. Pra evitar de apagar o que está por baixo. Acho melhor que o desmarcar o "delete underlying".
GameMakerTutoriais- Data de inscrição : 29/01/2011
Reputação : 26
Número de Mensagens : 800
Prêmios :
x 0 x 4 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: [mini-tuto] Instance Creation Code
Eu já tinha visto isso, mas como não sabia pra que serve, não procurei nenhum tuto.
Agora me dou conta que é um evento que pode ajudar bastante em certos momentos.
Valeu Pedro!
Agora me dou conta que é um evento que pode ajudar bastante em certos momentos.
Valeu Pedro!
Super Maker- Data de inscrição : 09/07/2011
Reputação : 6
Número de Mensagens : 646
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: [mini-tuto] Instance Creation Code
Caramba, quase 4 anos de Game Maker e eu não sabia disso.
Eu fazia um sistema parecido com esse pra facilitar a criação de armadilhas (como você citou), mas eu criava vários objetos invisíveis, que, ao colidir-se com um objeto especifico, alterava os valores dele (é o que eu chamo de "complicar para facilitar").
Sério cara, isso vai mudar MUITA coisa daqui pra frente...
Eu fazia um sistema parecido com esse pra facilitar a criação de armadilhas (como você citou), mas eu criava vários objetos invisíveis, que, ao colidir-se com um objeto especifico, alterava os valores dele (é o que eu chamo de "complicar para facilitar").
Sério cara, isso vai mudar MUITA coisa daqui pra frente...
Re: [mini-tuto] Instance Creation Code
Estranho, não imaginava que isso era dão desconhecido assim.
Uma técnica que sempre uso o instance creation code junto com variable_local_exists.
O jogo que estou trabalhando agora, por exemplo, tem portais ligados entre si. No creation code eu coloco a id do objeto a qual o portal esta ligado (o outro portal) e se ele esta ativado.
Outra coisa que faço muito também é num objeto de botão no creation code eu defino scripts com code_on, code_step e code_off e execute_string para executa-los.
Exemplo:
É um recurso bem útil.
Uma técnica que sempre uso o instance creation code junto com variable_local_exists.
O jogo que estou trabalhando agora, por exemplo, tem portais ligados entre si. No creation code eu coloco a id do objeto a qual o portal esta ligado (o outro portal) e se ele esta ativado.
- Código:
obj = 100123;
ativado = true;
- Código:
if !variable_local_exists('obj') obj = noone;
if !variable_local_exists('ativado') ativado = false;
Outra coisa que faço muito também é num objeto de botão no creation code eu defino scripts com code_on, code_step e code_off e execute_string para executa-los.
Exemplo:
- Código:
code_on = 'player.dinheiro -= 200;portal.ativado=true;sound_loop(alarme)'; // quando ativar o botão
code_step = 'lampada.cor_piscar = choose(c_red,c_yellow);'; // enquanto estiver ativado
code_off = 'portal.ativado=false;sound_stop(alarme)'; // quando for desativado
É um recurso bem útil.
Última edição por Kabeção em Sáb 14 Abr 2012, 18:57, editado 1 vez(es)
Re: [mini-tuto] Instance Creation Code
Hooo, eu ja conhecia essa possibilidade, so nao sabi que quase ninguem daqui sabia :O
muinto legal o tuto, eu sabia disso, mas nao sabia como usar :p
muinto legal o tuto, eu sabia disso, mas nao sabia como usar :p
henriquebr- Games Ranking :
Notas recebidas : D+B+D
Data de inscrição : 03/10/2011
Reputação : 1
Número de Mensagens : 421
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: [mini-tuto] Instance Creation Code
desconhecia essa possibilidade,adorei o tuto,aprendi a usar perfeitamente,essa possibilidade nem consta no manual do Game Maker,ótima colaboração,amei o mini-tuto
The Wizard- Games Ranking :
Notas recebidas : B
Data de inscrição : 24/03/2010
Reputação : 17
Número de Mensagens : 1129
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 1
x 0 x 0 x 0
Re: [mini-tuto] Instance Creation Code
Hm, eu conheci está função fuçando o GM
Ela tem várias utilidades mesmo, eu por exemplo usei elas, para colocar diferentes carros estáticos na rua, apenas mudando a image_index dela.
Mas eu não sabia que está função é tão desconhecida, mas mesmo assim, fica a dica pessoal
Até!
Ela tem várias utilidades mesmo, eu por exemplo usei elas, para colocar diferentes carros estáticos na rua, apenas mudando a image_index dela.
Mas eu não sabia que está função é tão desconhecida, mas mesmo assim, fica a dica pessoal
Até!
Black Studio- Games Ranking :
Notas recebidas : C + C
Data de inscrição : 19/10/2011
Reputação : 9
Número de Mensagens : 337
Prêmios :
x 0 x 0 x 0
x 0 x 1 x 0
x 0 x 0 x 0
Re: [mini-tuto] Instance Creation Code
é como o Kabeção Falou!
eu já uso isto há algum tempo mas só que por Burrice colocava no variable_local_exists(variavel) a variavel sem as aspas, e daí dava pane(erro), dizia que a variavel não existia!eu o uso principalmente para definir o lado que algo vai começar, EX:
inimigo
mas isto é só um Exemplo, por que geralmente não uso 2 sprite para fazer o lado direito e esquerdo(é só usar o MIRROR HORIZONTARy, mas só sei fazer por D&D)
eu já uso isto há algum tempo mas só que por Burrice colocava no variable_local_exists(variavel) a variavel sem as aspas, e daí dava pane(erro), dizia que a variavel não existia!eu o uso principalmente para definir o lado que algo vai começar, EX:
inimigo
- Código:
ld=1
- Código:
if ld=0 sprite_index=spr_direita
if ld=1 sprite_index=spr_esquerda
mas isto é só um Exemplo, por que geralmente não uso 2 sprite para fazer o lado direito e esquerdo(é só usar o MIRROR HORIZONTARy, mas só sei fazer por D&D)
Re: [mini-tuto] Instance Creation Code
Nooosa, só por causa da minha pergunta eu destruí ajudei a vida de muita gente. Mas o Pedro disse na minha pergunta que "variable_local_exists" é lento. Mas acho que não tem problema pois isso só será executado na criação do objeto, e como tem Creation Code, já esta na room, dando a pequena lentidão no começo da room.
Página 1 de 2 • 1, 2
Tópicos semelhantes
» [mini-tuto]Botão correr
» [Mini-Tuto] GmkSplitter e Programação em Equipe
» [RESOLVIDO]creation code de um objeto
» [LZ-Tuto]Code Snippets
» [Mini-TUTO] Como fazer um bom tutorial
» [Mini-Tuto] GmkSplitter e Programação em Equipe
» [RESOLVIDO]creation code de um objeto
» [LZ-Tuto]Code Snippets
» [Mini-TUTO] Como fazer um bom tutorial
GMBR :: Ensine & Aprenda :: Tutoriais :: Game Maker
Página 1 de 2
Permissões neste sub-fórum
Não podes responder a tópicos