Entrar
Últimos assuntos
» Como ajustar velocidade de cada frame da animação no game makerpor Ralphed Ontem à(s) 18:28
» PROBLEMAS COM FÍSICAS DE ÁGUA
por aminaro Ter 16 Abr 2024, 10:07
» Retorno da GMBR!!!
por Ralphed Sex 12 Abr 2024, 22:45
» JOGADOR PARANDO NO AR QUANDO ATACA
por aminaro Qua 10 Abr 2024, 13:51
» Problemas com texto interativo
por Kaaru72 Dom 07 Abr 2024, 11:31
» Erro escondido e indecifrável
por dev_gabize.azv Qui 04 Abr 2024, 10:11
» Mudar cor de apenas uma palavra
por Ralphed Sáb 30 Mar 2024, 00:39
» Procuro Programador de game maker
por Wou Sex 15 Mar 2024, 10:27
» Mod APK
por gamerainha Qua 13 Mar 2024, 06:30
» Aceito pedidos de sprites (Com exemplos meus)
por Sevilha Qua 28 Fev 2024, 12:17
» Inventário simples
por Isquilo_Roedor Qui 22 Fev 2024, 15:18
» Problemas na programaçnao de inimigo [jogo DOOM LIKE]
por Black Mirror Dom 11 Fev 2024, 13:34
» ANDROID MULTI TOUCH
por DiegoBr Dom 04 Fev 2024, 12:13
» Servidor de Discord do fórum?
por Lighter Sáb 27 Jan 2024, 17:18
» Save e Load Json
por Klinton Rodrigues Qui 25 Jan 2024, 11:12
» Colisão com mais de um objeto
por aminaro Seg 22 Jan 2024, 15:02
» Oi sou novo aqui
por Thiago Silveira Alexandre Sáb 20 Jan 2024, 20:55
» Como acessar conteudo comprado no marketplace
por macmilam Sex 19 Jan 2024, 07:42
» Devlogs em vídeos do Block Room
por Joton Seg 15 Jan 2024, 16:56
» Alguém aqui já ganha dinheiro com seus games?
por Joton Seg 15 Jan 2024, 16:49
» ACERVO GMBR MAGAZINE
por Joton Qui 11 Jan 2024, 19:21
» como aumentar o obj sem aumentar a colisão??
por GabrielXavier Qua 10 Jan 2024, 07:21
» Asteroid Core - Early Acesse Update [0.2.0.0]
por JOZ. Seg 08 Jan 2024, 14:39
» Versionamento de código com GitHub
por GabrielXavier Seg 08 Jan 2024, 07:32
» Rio Rise - novo launcher do Gta San Andreas SAMP Brasil
por kolesovsup Sex 29 Dez 2023, 07:16
[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
» [RESOLVIDO]creation code de um objeto
» [Mini-TUTO] Como fazer um bom tutorial
» [LZ-Tuto]Code Snippets
» [Dúvida] Creation Code das Rooms, como funciona?
» [RESOLVIDO]creation code de um objeto
» [Mini-TUTO] Como fazer um bom tutorial
» [LZ-Tuto]Code Snippets
» [Dúvida] Creation Code das Rooms, como funciona?
GMBR :: Ensine & Aprenda :: Tutoriais :: Game Maker
Página 1 de 2
Permissões neste sub-fórum
Não podes responder a tópicos
|
|