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
Barra de load no inicio da fase?
+4
Anderson3d
Janx
Borgo
Super Man
8 participantes
Página 1 de 1
Barra de load no inicio da fase?
Olá galera!
É possível fazer carregar a barra de "load" no início de cada fase, em vez
de carregar o jogo todo no inicio?
É possível fazer carregar a barra de "load" no início de cada fase, em vez
de carregar o jogo todo no inicio?
Super Man- Data de inscrição : 29/12/2008
Reputação : 0
Número de Mensagens : 17
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Barra de load no inicio da fase?
Não, mas dá para configurar as imagens (sprites) para não serem pré carregadas (pre-load).
Re: Barra de load no inicio da fase?
Até da,
Complicado? um pouco...
Oque vc presisa:
Ter os recursos q serao carregados fora do executavel,
Ai quando for para a fase vc adiciona o sprite, background, etc
usando:
background_add
sprite_add
sound_add
...
Lembre-se de deleta-los da memoria depois de usar!!
sprite_delete (ou sprite_discard, num lembro...)
background_delete (ou background_discard, num lembro...)
...
Flwss
Complicado? um pouco...
Oque vc presisa:
Ter os recursos q serao carregados fora do executavel,
Ai quando for para a fase vc adiciona o sprite, background, etc
usando:
background_add
sprite_add
sound_add
...
Lembre-se de deleta-los da memoria depois de usar!!
sprite_delete (ou sprite_discard, num lembro...)
background_delete (ou background_discard, num lembro...)
...
Flwss
Janx- Data de inscrição : 24/05/2008
Reputação : 14
Número de Mensagens : 2417
Prêmios :
x 0 x 0 x 0
x 0 x 2 x 0
x 0 x 0 x 0
Re: Barra de load no inicio da fase?
o problema disso é o que to passando nesse momento, nao aparece uma barra de loading, simplesmente a tela parece travar, depois de dar o load começa a fase. ou seja, é um quebra galho e fica feio pacas...
Re: Barra de load no inicio da fase?
Nao se vc fizer direito...
Faz uma room chamada "LOAD"
Ai quando for para uma fase, vc salva o valor da fase em uma variavel global assim:
Blz, isso vai te deixar no room de load.
Crie um objeto LOAD_obj
no evento create:
e no evento draw dele:
Faz uma room chamada "LOAD"
Ai quando for para uma fase, vc salva o valor da fase em uma variavel global assim:
- Código:
global.next_fase = fase2;
room = LOAD //ir para o room de load
Blz, isso vai te deixar no room de load.
Crie um objeto LOAD_obj
no evento create:
- Código:
loading = 0;
itens_fase2 = 2; //saber quantos itens tem para serem carregados, para intao adicionar na % a cada item carregado
e no evento draw dele:
- Código:
draw_text(16,16,string(loading));
//Agora começa a carregar as coisas:
if global.next_fase = fase2 //carregar coisas para fase 2
{
if !sprite_exists(spr_aaa) //se ainda nao tem o sprite spr_aaa
{
global.spr_aaa = sprite_add('sprite_aaa.png',0,0,0,0,0,0,0); //carregar sprite e guardar valor na variavel global.spr_aaa
loading += 100/itens_fase2; //adicionar na % de itens carregados.
exit;
}
if !sprite_exists(spr_aab) //se ainda nao tem o sprite spr_aab
{
global.spr_aab = sprite_add('sprite_aab.png',0,0,0,0,0,0,0);
loading += 100/itens_fase2; //adicionar na % de itens carregados.
exit;
}
}
room = global.next_fase; //No fim do script, tem esse codigo, mas esse codigo so é lido se ja foi tudo carregado, por isso da funçao exit, q sai do script, e dpois volta no proximo step, ai quando nao tiver nada pra carregar ele passa direto e le o codigo, dai ele vai para a room.
Janx- Data de inscrição : 24/05/2008
Reputação : 14
Número de Mensagens : 2417
Prêmios :
x 0 x 0 x 0
x 0 x 2 x 0
x 0 x 0 x 0
Re: Barra de load no inicio da fase?
janx eu me referí apenas à barrinha de load, mesmo que seja numa outra room.
mas é a melhor forma mesmo...
mas é a melhor forma mesmo...
Re: Barra de load no inicio da fase?
O problema é o seguinte, quando ele vai carregar, ele para tudo que está fazendo até que termine, inclusive os draws ficam congelados.
Não há como colocar alguma coisa dinâmica, como uma barra progressiva, mas dá para colocar uma imagem estática antes de iniciar o carregamento, obs.: no evento draw, é possível fazer quase tudo que podemos fazer no step...
Então, no draw, podemos seguir código:
if carregado=0{
draw_sprite ou draw_text ou whatever you want...
//script para carregar as coisitas
carregado=1
}
o que faz... isto irá carregar somente uma vez quando a variavel carregado for igual a 0...
Logo, a imagem ou texto que inserirmos irá aparecer somente uma vez e quando terminar de carregar (carregado=1) ela não será mais desenhada, até que carregado seja 0 novamente...
resumidamente, o texto ou imagem será desenhada e o jogo irá congelar para carregar, por isso não é possível colocar um barra progressiva por exemplo.
Não há como colocar alguma coisa dinâmica, como uma barra progressiva, mas dá para colocar uma imagem estática antes de iniciar o carregamento, obs.: no evento draw, é possível fazer quase tudo que podemos fazer no step...
Então, no draw, podemos seguir código:
if carregado=0{
draw_sprite ou draw_text ou whatever you want...
//script para carregar as coisitas
carregado=1
}
o que faz... isto irá carregar somente uma vez quando a variavel carregado for igual a 0...
Logo, a imagem ou texto que inserirmos irá aparecer somente uma vez e quando terminar de carregar (carregado=1) ela não será mais desenhada, até que carregado seja 0 novamente...
resumidamente, o texto ou imagem será desenhada e o jogo irá congelar para carregar, por isso não é possível colocar um barra progressiva por exemplo.
Re: Barra de load no inicio da fase?
da pra por uma barra progessiva, é oque eu expliquei ali no meu ultimo post.
So que nao é uma barra, é uma contagem
Q vai aumentando
1..2...3 De acordo com as coisas carregadas
So que nao é uma barra, é uma contagem
Q vai aumentando
1..2...3 De acordo com as coisas carregadas
Janx- Data de inscrição : 24/05/2008
Reputação : 14
Número de Mensagens : 2417
Prêmios :
x 0 x 0 x 0
x 0 x 2 x 0
x 0 x 0 x 0
Re: Barra de load no inicio da fase?
na verdade tem um modo melhor, é tipo o que o janx disse mas vc tem que organizar o que vai usar primeiro. se você não vai usar tudo no inicio da fase, carregue so o que vai usar e de um tempo para carregar o restante senão vai dar uma travada grotesca.
usa durante o carregamento as funcoes screen_refresh() e screen_redraw(). isso vai atualizar os desenhos da tela pra evitar aquela janela branca tosqueira
usa durante o carregamento as funcoes screen_refresh() e screen_redraw(). isso vai atualizar os desenhos da tela pra evitar aquela janela branca tosqueira
M.A.S.- Data de inscrição : 03/01/2009
Reputação : 0
Número de Mensagens : 377
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Barra de load no inicio da fase?
Quando eu uso muitos arquivos eu coloco as funções para carregá-los em um arquivo de texto separado.
Ficaria assim:
Sempre mudando de linha apos uma função.
Para fazer uma barra de loading nisso eu abro o arquivo de texto com as funções file_text. Uso execute_string lendo cada linha e retorno a porcentagem do processo para desenhar a barra usando screen_redraw também.
Um script para ilustrar isso seria assim:
l/n retorna a escala para em image_xscale. Se estiver na linha 2 e o texto tiver 4 linhas a escala sera 0.5 de uma imagem inteira.
Faça uma sprite do tamanho máximo que você quer para a barra, quando l/n for 0.5, por exemplo, a barra sera desanhada pela metada dizendo que o processo esta em 50%.
Não precisa ser um arquivo de texto, você so precisa fazer algo onde tenha como saber quantas funções serão executadas e qual esta executando no momento.
Querer desenhar uma barra de loading onde poucas e pequenas coisa são carregadas pode ser um disperdicio pois o processo vai ser rápido demais.
Ficaria assim:
- Código:
spr1=sprite_add(...)
spr2=sprite_add(...)
back1=background_add(...)
som1=sound_add(...)
Sempre mudando de linha apos uma função.
Para fazer uma barra de loading nisso eu abro o arquivo de texto com as funções file_text. Uso execute_string lendo cada linha e retorno a porcentagem do processo para desenhar a barra usando screen_redraw também.
Um script para ilustrar isso seria assim:
- Código:
var f,l,n;
f=file_text_open_read('carregar.txt') // abrir arquivo
l=0 // linha atual
n=4 // numero de linhas no texto
do
{
execute_string(file_text_read_string(f))
file_text_readln(f) // ir para proxima linha
l+=1
draw_sprite_ext(sprBarra,0,x,y,l/n,image_yscale,1,c_white,1)
screen_redraw() // redesenhar tela
} until file_text_eof(f); // se o texto acabar, para a leitura
file_text_close(f) // dechar arquivo
l/n retorna a escala para em image_xscale. Se estiver na linha 2 e o texto tiver 4 linhas a escala sera 0.5 de uma imagem inteira.
Faça uma sprite do tamanho máximo que você quer para a barra, quando l/n for 0.5, por exemplo, a barra sera desanhada pela metada dizendo que o processo esta em 50%.
Não precisa ser um arquivo de texto, você so precisa fazer algo onde tenha como saber quantas funções serão executadas e qual esta executando no momento.
Querer desenhar uma barra de loading onde poucas e pequenas coisa são carregadas pode ser um disperdicio pois o processo vai ser rápido demais.
Re: Barra de load no inicio da fase?
mas nem precisa colocar os esquema em um texto, algo assim basta:
- Código:
nt = 6 // numero total de carregamentos
n = 0; // numero atual
draw_rectangle(16,16,16+((n*300)/nt),32,false);
sprite_add(...);
n += 1;
draw_rectangle(16,16,16+((n*300)/nt),32,false);
sprite_add(...);
n += 1;
draw_rectangle(16,16,16+((n*300)/nt),32,false);
sprite_add(...);
n += 1;
draw_rectangle(16,16,16+((n*300)/nt),32,false);
sprite_add(...);
n += 1;
draw_rectangle(16,16,16+((n*300)/nt),32,false);
sprite_add(...);
n += 1;
draw_rectangle(16,16,16+((n*300)/nt),32,false);
sprite_add(...);
n += 1;
draw_rectangle(16,16,16+((n*300)/nt),32,false);
Re: Barra de load no inicio da fase?
se diz tipo isso Aqui
makgamer- Games Ranking :
Notas recebidas : D
Data de inscrição : 29/03/2009
Reputação : 7
Número de Mensagens : 941
Prêmios :
x 0 x 0 x 0
x 0 x 1 x 0
x 0 x 0 x 0
Plataformas :- Game Maker 8.0 ou 8.1
- Game Maker Studio 2.0
- Unity
- Java
- C#
- Javascript
- RPG Maker
- C ou C++
- Outros
Tópicos semelhantes
» Barra de load
» faço barra de load.
» como fazer os inimigos seguirem o personagem? e tambem como fazer com que ele me faza voltar pro inicio da fase quando me toca?
» fase bonus (como voltar pra fase principal?)
» história no inicio do jogo?
» faço barra de load.
» como fazer os inimigos seguirem o personagem? e tambem como fazer com que ele me faza voltar pro inicio da fase quando me toca?
» fase bonus (como voltar pra fase principal?)
» história no inicio do jogo?
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos