Conectar-se
Quem está conectado
13 usuários online :: Nenhum usuário registrado, Nenhum Invisível e 13 Visitantes

Nenhum

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Data de inscrição : 29/12/2008
Número de Mensagens : 17
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0
Ver perfil do usuário

Barra de load no inicio da fase?

em Dom 05 Abr 2009, 23:53
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?
avatar
Data de inscrição : 06/01/2009
Número de Mensagens : 69
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0

Prêmios
   :
   :
   :
Ver perfil do usuáriohttp://www.neonerds.com.br

Re: Barra de load no inicio da fase?

em Seg 06 Abr 2009, 16:07
Não, mas dá para configurar as imagens (sprites) para não serem pré carregadas (pre-load).
avatar
Data de inscrição : 24/05/2008
Número de Mensagens : 2417
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 14

Prêmios
   : 0
   : 2
   : 0
Ver perfil do usuário

Re: Barra de load no inicio da fase?

em Seg 06 Abr 2009, 18:02
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
avatar
Ranking : Nota A
Notas recebidas : A - A
Data de inscrição : 15/02/2009
Número de Mensagens : 1479
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 9

Prêmios
   : 1
   : 0
   : 1
Ver perfil do usuáriohttp://www.indiegamebr.com

Re: Barra de load no inicio da fase?

em Seg 06 Abr 2009, 18:15
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...
avatar
Data de inscrição : 24/05/2008
Número de Mensagens : 2417
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 14

Prêmios
   : 0
   : 2
   : 0
Ver perfil do usuário

Re: Barra de load no inicio da fase?

em Seg 06 Abr 2009, 19:05
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:

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.
[code]
avatar
Ranking : Nota A
Notas recebidas : A - A
Data de inscrição : 15/02/2009
Número de Mensagens : 1479
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 9

Prêmios
   : 1
   : 0
   : 1
Ver perfil do usuáriohttp://www.indiegamebr.com

Re: Barra de load no inicio da fase?

em Ter 07 Abr 2009, 05:06
janx eu me referí apenas à barrinha de load, mesmo que seja numa outra room.
mas é a melhor forma mesmo...
avatar
Data de inscrição : 06/01/2009
Número de Mensagens : 69
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0

Prêmios
   :
   :
   :
Ver perfil do usuáriohttp://www.neonerds.com.br

Re: Barra de load no inicio da fase?

em Qua 08 Abr 2009, 13:15
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.
avatar
Data de inscrição : 24/05/2008
Número de Mensagens : 2417
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 14

Prêmios
   : 0
   : 2
   : 0
Ver perfil do usuário

Re: Barra de load no inicio da fase?

em Qua 08 Abr 2009, 13:25
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
avatar
Data de inscrição : 06/01/2009
Número de Mensagens : 69
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0

Prêmios
   :
   :
   :
Ver perfil do usuáriohttp://www.neonerds.com.br

Re: Barra de load no inicio da fase?

em Qua 08 Abr 2009, 14:24
É verdade... agora que eu li inteiro rsrsrs desculpas
avatar
Data de inscrição : 03/01/2009
Número de Mensagens : 377
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0
Ver perfil do usuário

Re: Barra de load no inicio da fase?

em Qua 08 Abr 2009, 20:56
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
avatar
Ranking : Sem avaliações
Data de inscrição : 08/06/2008
Número de Mensagens : 2314
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 100

Prêmios
   : 3
   : 0
   : 1
Ver perfil do usuáriohttp://blackcapapps.blogspot.com.br/

Re: Barra de load no inicio da fase?

em Qui 09 Abr 2009, 18:26
Quando eu uso muitos arquivos eu coloco as funções para carregá-los em um arquivo de texto separado.
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
Eu não o testei mas essa seria a ideia de como fazer.

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.
avatar
Data de inscrição : 03/08/2008
Número de Mensagens : 1156
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0

Prêmios
   : 1
   :
   :
Ver perfil do usuáriohttp://www.ciganospictures.hd1.com.br

Re: Barra de load no inicio da fase?

em Qui 09 Abr 2009, 18:49
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);
avatar
Ranking : Nota D
Notas recebidas : D
Data de inscrição : 29/03/2009
Número de Mensagens : 927
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 6

Prêmios
   :
   : 1
   :
Ver perfil do usuário

Re: Barra de load no inicio da fase?

em Sex 17 Abr 2009, 19:42
se diz tipo isso Aqui Question
Ver o tópico anteriorVoltar ao TopoVer o tópico seguinte
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum