GMBR
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.
Entrar

Esqueci-me da senha

Últimos assuntos
» Colisões não funcionando
por RastaMaan Ontem à(s) 19:49

» Como ajustar velocidade de cada frame da animação no game maker
por pequetux Ontem à(s) 16:45

» Preciso de ajuda
por AftonDuGrau Dom 21 Abr 2024, 20:18

» Como faz o evento drawn GUI, não se repetir?
por aminaro Sex 19 Abr 2024, 20:30

» 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


Dúvida na sequência de execução de scripts.

2 participantes

Ir para baixo

Dúvida na sequência de execução de scripts. Empty Dúvida na sequência de execução de scripts.

Mensagem por Allan Dennis Sex 14 maio 2010, 22:21

Fiz um script que cria objetos e suas instancias relacionadas ao mouse, funcionou perfeitamente.

Passei então para a próxima etapa fazendo outro script que altera algumas características dos objetos do primeiro script de acordo algumas regras definidas para o jogo.

Criei um objeto com D&D, só para testar, e nele um evento create com dois execute script, um pra cada script (na ordem correta).

Acontece que, quando executo o jogo, a tela fica vazia e executa os sons relativos ao segundo script e só então aparecem os objetos do primeiro script sendo que com as alterações relativas ao segundo.

Tudo funcionou, exeto pela ordem de execução.
avatar
Allan Dennis

Data de inscrição : 28/04/2010
Reputação : 0
Número de Mensagens : 15
Prêmios : Dúvida na sequência de execução de scripts. Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

Ir para o topo Ir para baixo

Dúvida na sequência de execução de scripts. Empty Re: Dúvida na sequência de execução de scripts.

Mensagem por Kabeção Sex 14 maio 2010, 22:41

Bom, você tem dois objetos: obj1 e obj2.
O obj1 é o primeiro a ser criado e o obj2 é criado com um script no evento Create do obj1.
O script no Create do obj1 é assim:

var1 = 10;
var2 = 10;
obj_id = instance_create(x,y,obj2);
with (obj_id)
{
x = 500;
y = 400;
forca = 10;
}
var3 = 50;
var4 = 60;

O execução de eventos ficaria nessa ordem:
obj1 - Create até a linha onde esta 'obj_id = instance_create(x,y,obj2);'
obj2 - Create - O obj2 executa seu Create
obj2 - Create - x, y e forca são definidas
obj1 - Create - a execução volta para o obj1 e continua de 'var3 = 50;' até a ultima linha
obj1 - Draw
obj2 - Draw
obj1 - Begin Step
obj2 - Begin Step
obj1 - Step
obj2 - Step
obj1 - End Step
obj2 - End Step

Depois do ultimo End Step a execução volta para o Draw do obj1 e se repeti.
Na verdade, na parte do instance_create e with, primeiro o Create do obj2 é executado ai volta para o obj1 depois o with faz voltar dinovo no obj2 e fazar ele definir as variaveis e ai sim volta para o obj1. scratch
Isso é claro se você usasse só esses eventos.

Não entendi direito seu problema mas é assim a ordem de execução de eventos do GM.
Kabeção
Kabeção

Games Ranking : Sem avaliações

Data de inscrição : 08/06/2008
Reputação : 100
Número de Mensagens : 2314
Prêmios : Dúvida na sequência de execução de scripts. Empty

Medalhas x 0 Tutoriais x 7 Moedas x 0

Ouro x 3 Prata x 0 Bronze x 1

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

http://blackcapapps.blogspot.com.br/

Ir para o topo Ir para baixo

Dúvida na sequência de execução de scripts. Empty Re: Dúvida na sequência de execução de scripts.

Mensagem por Convidad Sex 14 maio 2010, 23:35

Allan Dennis escreveu:Acontece que, quando executo o jogo, a tela fica vazia e executa os sons relativos ao segundo script e só então aparecem os objetos do primeiro script sendo que com as alterações relativas ao segundo.

Tudo funcionou, exeto pela ordem de execução.

Se eu entendi direito, acho que o que pode estar havendo é apenas uma "impressão" de que o objeto é criado depois. Os sons serão executados no evento create normalmente (junto com todo o código), porém, a impressão que se tem é de que os objetos serão criados depois, já que tem que haver atualização do step para perceber o objeto na room.

Se você definir a velocidade da room bem baixa, é possível que aconteça isso mesmo. Isso se eu tiver entendido direito o que aconteceu com você aí.
avatar
Convidad
Convidado


Ir para o topo Ir para baixo

Dúvida na sequência de execução de scripts. Empty Re: Dúvida na sequência de execução de scripts.

Mensagem por Allan Dennis Sáb 15 maio 2010, 00:14

Kabeção, acho que não entendeu a pergunta, talvêz eu não tenha sido claro o suficiente.

Objetivo:
O Script_1 cria os objetos já com suas características definidas e os coloca na tela.
O Script_2 altera algumas características de alguns objetos criados no Script_1

Aí vai parte do código (simplificado):

Script_1:
Obj1=object_add();
instance_create(10,10,Obj1);
with(Obj1){sprite_index=Spt1;visible=true; depth=0;};
Obj2=object_add();
instance_create(10,20,Obj2);
with(Obj2){sprite_index=Spt1;visible=true; depth=0;};

Script_2:
sleep(1000);
i=0;
while (i<5)
{
Teste=irandom_range(1,2);
if Teste = 1 {with(Obj1){sprite_index=Spt2;sound_play(Snd1);sleep(500);}};
if Teste = 2 {with(Obj2){sprite_index=Spt2;sound_play(Snd2);sleep(500);}};
i+=1;
}

Room0 Creation Code:
script_execute(Script_1);
script_execute(Script_2);

Resultado (não desejado):
Abre a janela sem nada, executa o Script_2 (só o som),
Só depois do último som aparecem os objetos criados pelo Script_1, porém com os sprites já alterados pelo script_2.

Se puderem, façam o teste aí pra visualizarem melhor o problema.
avatar
Allan Dennis

Data de inscrição : 28/04/2010
Reputação : 0
Número de Mensagens : 15
Prêmios : Dúvida na sequência de execução de scripts. Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

Ir para o topo Ir para baixo

Dúvida na sequência de execução de scripts. Empty Re: Dúvida na sequência de execução de scripts.

Mensagem por Convidad Sáb 15 maio 2010, 00:31

Acho que o que tá acontecendo é o fato de que o sleep() tá parando o código. O redraw da tela do jogo só é feito depois de todo o código ser executado! Coloca no Script_2 (dentro do while):

Código:
screen_redraw(); screen_refresh();

Só pra ressalvar, você pode usar seus scripts sem usar o script_execute, apenas digitando o nome dele e os argumentos:

Código:
Script_1();
Script_2();

Você também poderia substituir o while pelo "repeat" (se não estiver usando a variável "i") e o seu script "irandom_range" por "choose()":

Código:
sleep(1000);
repeat (5)
{
Teste=choose(1,2);
if Teste = 1 {with(Obj1){sprite_index=Spt2;sound_play(Snd1);sleep(500);}};
if Teste = 2 {with(Obj2){sprite_index=Spt2;sound_play(Snd2);sleep(500);}};
}

Boa sorte.
avatar
Convidad
Convidado


Ir para o topo Ir para baixo

Dúvida na sequência de execução de scripts. Empty Re: Dúvida na sequência de execução de scripts.

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos