Entrar
Últimos assuntos
» Colisões não funcionandopor RastaMaan Hoje à(s) 19:49
» Como ajustar velocidade de cada frame da animação no game maker
por pequetux Hoje à(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
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
» Tela de Load
» fase bonus (como voltar pra fase principal?)
» Save e Load com ini
» Erro no Load
» Tela de Load
» fase bonus (como voltar pra fase principal?)
» Save e Load com ini
» Erro no Load
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos
|
|