Conectar-se

Esqueci minha senha

Últimos assuntos
» [Enquete] Concursos GMBR
por Willy Hoje à(s) 19:49

» CR - Concurso Relâmpago!!
por Willy Ter 18 Jul 2017, 17:11

» 3D:como rodar a camara em horizontal?
por Cambalinho Ter 18 Jul 2017, 15:09

» [Resolvido] pode explicar a d3d_set_projection()?
por Cambalinho Ter 18 Jul 2017, 11:28

» Escrever a resposta certa muda de room
por PedroX Seg 17 Jul 2017, 21:46

» Nota de esclarecimento - GMBR voltou!
por Mentos e Coca-cola Seg 17 Jul 2017, 17:05

» [CR] Campo Minado
por Katerp Dom 16 Jul 2017, 23:09

» [CR] The Bazooka Cat
por Tedi Ripper Dom 16 Jul 2017, 23:01

» Como melhorar um protótipo(Design)
por lolandoplayer Dom 16 Jul 2017, 22:56

» Diminuir velocidade ao arrastar objeto
por LwysF Dom 16 Jul 2017, 17:33

Quem está conectado
34 usuários online :: 5 usuários cadastrados, Nenhum Invisível e 29 Visitantes

gart30, Katerp, Koelho, Tedi Ripper, Willy

[ Ver toda a lista ]


O recorde de usuários online foi de 324 em Ter 05 Out 2010, 13:36
Estatísticas
Temos 12700 usuários registrados
O último usuário registrado atende pelo nome de Eduardo Gomes

Os nossos membros postaram um total de 220919 mensagens em 30412 assuntos

Barra de load no inicio da fase?

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Barra de load no inicio da fase?

Mensagem por Super Man 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
Super Man

Data de inscrição : 29/12/2008
Número de Mensagens : 17
Insígnias de JAM :

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

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Barra de load no inicio da fase?

Mensagem por Borgo 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
Borgo

Data de inscrição : 06/01/2009
Número de Mensagens : 69
Insígnias de JAM :

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

Prêmios
   :
   :
   :

Ver perfil do usuário http://www.neonerds.com.br

Voltar ao Topo Ir em baixo

Re: Barra de load no inicio da fase?

Mensagem por Janx 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
Janx

Data de inscrição : 24/05/2008
Número de Mensagens : 2417
Insígnias de JAM :

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

Prêmios
   : 0
   : 2
   : 0

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Barra de load no inicio da fase?

Mensagem por Anderson3d 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
Anderson3d

Ranking : Nota A
Notas recebidas : A - A
Data de inscrição : 15/02/2009
Número de Mensagens : 1479
Insígnias de JAM :

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

Prêmios
   : 1
   : 0
   : 1

Ver perfil do usuário http://www.indiegamebr.com

Voltar ao Topo Ir em baixo

Re: Barra de load no inicio da fase?

Mensagem por Janx 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
Janx

Data de inscrição : 24/05/2008
Número de Mensagens : 2417
Insígnias de JAM :

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

Prêmios
   : 0
   : 2
   : 0

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Barra de load no inicio da fase?

Mensagem por Anderson3d 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
Anderson3d

Ranking : Nota A
Notas recebidas : A - A
Data de inscrição : 15/02/2009
Número de Mensagens : 1479
Insígnias de JAM :

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

Prêmios
   : 1
   : 0
   : 1

Ver perfil do usuário http://www.indiegamebr.com

Voltar ao Topo Ir em baixo

Re: Barra de load no inicio da fase?

Mensagem por Borgo 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
Borgo

Data de inscrição : 06/01/2009
Número de Mensagens : 69
Insígnias de JAM :

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

Prêmios
   :
   :
   :

Ver perfil do usuário http://www.neonerds.com.br

Voltar ao Topo Ir em baixo

Re: Barra de load no inicio da fase?

Mensagem por Janx 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
Janx

Data de inscrição : 24/05/2008
Número de Mensagens : 2417
Insígnias de JAM :

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

Prêmios
   : 0
   : 2
   : 0

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Barra de load no inicio da fase?

Mensagem por Borgo em Qua 08 Abr 2009, 14:24

É verdade... agora que eu li inteiro rsrsrs desculpas
avatar
Borgo

Data de inscrição : 06/01/2009
Número de Mensagens : 69
Insígnias de JAM :

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

Prêmios
   :
   :
   :

Ver perfil do usuário http://www.neonerds.com.br

Voltar ao Topo Ir em baixo

Re: Barra de load no inicio da fase?

Mensagem por M.A.S. 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
M.A.S.

Data de inscrição : 03/01/2009
Número de Mensagens : 377
Insígnias de JAM :

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

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Barra de load no inicio da fase?

Mensagem por Kabeção 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
Kabeção

Ranking : Sem avaliações
Data de inscrição : 08/06/2008
Número de Mensagens : 2314
Insígnias de JAM :

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

Prêmios
   : 3
   : 0
   : 1

Ver perfil do usuário http://blackcapapps.blogspot.com.br/

Voltar ao Topo Ir em baixo

Re: Barra de load no inicio da fase?

Mensagem por Gusba 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
Gusba

Data de inscrição : 03/08/2008
Número de Mensagens : 1156
Insígnias de JAM :

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

Prêmios
   : 1
   :
   :

Ver perfil do usuário http://www.ciganospictures.hd1.com.br

Voltar ao Topo Ir em baixo

Re: Barra de load no inicio da fase?

Mensagem por makgamer em Sex 17 Abr 2009, 19:42

se diz tipo isso Aqui Question
avatar
makgamer

Ranking : Nota D
Notas recebidas : D
Data de inscrição : 29/03/2009
Número de Mensagens : 927
Insígnias de JAM :

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

Prêmios
   :
   : 1
   :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum