adicionar arquivos externos no game maker

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

adicionar arquivos externos no game maker

Mensagem por mako182 em Qui 21 Jul 2011, 02:31

Galera tenho uma duvida um pouco mais para quem ta a um tempo no gm, ou para quem ta a pouco e ja manja pakas...enfim.

Eu quero que o meu programa vá adicionando imagens(arquivos enfim) que eu abrir por exemplo eu uso o seguinte comando:

arquivo=get_open_filename("arquivos|*.bmp;*.jpg;*.gif;",'')

mas não consigo de geito algum pois eu adiciono um e quando adiciono pela segunda vez ele simplesmente(e logicamente) sobrepoen o arquivo anterior e nao cria um novo.

teria mais ou menos que ficar assim ir adicionando ilimitado..

"C:/imagem.jpg"
"C:/musica.mp3"
"F:/texto.txt"

para depois usar como uma playlist.

eu consegui fazer de um geito muito feio tipo

arquivo1=get_open_filename("arquivos|*.bmp;*.jpg;*.gif;",'')
arquivo2=get_open_filename("arquivos|*.bmp;*.jpg;*.gif;",'')
arquivo3=get_open_filename("arquivos|*.bmp;*.jpg;*.gif;",'')

tenho certeza que da para fazer tudo pelo mesmo comando e botao.

desde ja agradeço flows
=D


mako182

Ranking : Nota C
Número de Mensagens : 334
Idade : 24
Data de inscrição : 30/05/2009
Notas recebidas : C+C
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: adicionar arquivos externos no game maker

Mensagem por Gabreel em Qui 21 Jul 2011, 02:46

Não entendi direto.. Mas se for que penso, tenta usar o comando for com sub-arrays (array[0])

Gabreel

Número de Mensagens : 2227
Idade : 20
Data de inscrição : 02/10/2009
Reputação : 52
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: adicionar arquivos externos no game maker

Mensagem por Alex FC em Qui 21 Jul 2011, 11:25

Como o Biel falou, você poderia usar arrays. Mas como tu quer ilimitado sugiro lsitas, e te falo me amigo é muito complicado. Tu poderia usar ds_grid, mas para facilitar vamos usar ds_list. Você tem que criar uma para cada caracteristica do arquivo. Ex:

Código:
global.arquivo=ds_list_create()

global.nome=ds_list_create()

Acabamos de criar duas listas vazias que serão usadas de referência uma com a outra. Cada lista possui 2 elementos (posição - valor). Ex:

0-carro
1-casa
2-cachorro
3-mesa
4-TV
5-Bicicleta

Essa é uma lista "imaginária". Para fazermos a mesma coisa em GML basta fazer isso:

Código:
//cria lista de coisas
global.lsita=ds_list_create()

//adiciona coisas à lista an última posição ou seja se a 1º posição estiver ocupada coloca na 2ª posição

ds_list_add(global.lista,"carro");
ds_list_add(global.lista,"casa");
ds_list_add(global.lista,"cachorro");
ds_list_add(global.lista,"mesa");
ds_list_add(global.lista,"TV");
ds_list_add(global.lista,"Bicicleta");

Agora vamos supor que você não quer maiso cachorro na sua lista. E suponhamos que você não lembre a posição do cachorro na lista. Então use:

Código:
ds_list_delete(global.lista,ds_list_find_index(global.lista,"cachorro"))

Dessa maneira retiramos o cachorro da lista. Mas sua posição não fica vazia e os outros itens a sua frente sobem uma casa. E a lista fica assim:

0-carro
1-casa
2-mesa
3-TV
4-Bicicleta

Agora suponhamos que você deseja adicionar um iten (um skate) na posição 3. Basta isso:

Código:
ds_list_insert(global.lista,3,"skate")

A lista fica dessa maneira:

0-carro

1-casa

2-mesa
3-skate

4-TV

5-Bicicleta

Com isso você aprendeu a adicionar e retirar coisas da sua lista. Agoa voltando as duas lista que você criou no inicio. Sempre que for adicionar um novo elemento use:

Código:
//Adiciona o arquivo à lista global.arquivo
ds_list_add(global.arquivo,background_add(get_open_filename("arquivos|*.bmp;*.jpg;*.gif;",''),0,0))

//Adiciona um nome para o arquivo
ds_list_add(global.nome,get_string("nome do objeto","sem nome"))

Veja que são duas listas diferentes, uma armazena o arquivo e outra um nome. Fazemos isso por fica complicado lembrar o valor de um arquivo e usaremos a lista de nomes como referência. Exemplo, digamos que você deu o nome de Música1 para o arquivo e você quer usa-lo a partir desse nome. Então basta usar isso:

Código:
sound_play(ds_list_find_value(global.arquivo,ds_list_find_index(global.nome,"Música1")))

E quando for deletar algo delete nas duas listas.

ds_list_find_value(id,pos) retorna o valor do que esta na posição na lista;

ds_list_find_index(id,value) retorna a posição do valor chamado na lista;

É isso, espero que tenha entendido. Veja essa engine de arquivos externos:

http://gmbr.forumeiros.com/t5335-engine-arquivos-externos

Alex FC

Ranking : Nota A
Número de Mensagens : 2503
Idade : 23
Data de inscrição : 20/12/2008
Notas recebidas : B A
Reputação : 174
Insignia 1 x 1 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 2
   : 1
   : 1

http://redscreensoft.blogspot.com

Voltar ao Topo Ir em baixo

Re: adicionar arquivos externos no game maker

Mensagem por mako182 em Sab 23 Jul 2011, 10:34

alex daria para fazer um playlist de musicas dessa forma?

//Adiciona o arquivo à lista global.arquivo
ds_list_add(global.arquivo,sound_add(get_open_filename("arquivos|*.mp3;*.wav;*.midi;",''),0,0))

estou com essa duvida e outra, como ver as lista na room.
nao estou conseguindo usar o draw para a lista

desde ja agradeço

mako182

Ranking : Nota C
Número de Mensagens : 334
Idade : 24
Data de inscrição : 30/05/2009
Notas recebidas : C+C
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: adicionar arquivos externos no game maker

Mensagem por Alex FC em Dom 24 Jul 2011, 22:28

Fiz uma engine para explicar melhor:

http://gmbr.forumeiros.com/t17607-engine-lista-de-mp3-interna-v10#132723

Vou fazer outra pois essa tem um pequeno problema. Não vai demorar muito. Talvez amanhã mesmo já esteja pronta.

FLWS!

Alex FC

Ranking : Nota A
Número de Mensagens : 2503
Idade : 23
Data de inscrição : 20/12/2008
Notas recebidas : B A
Reputação : 174
Insignia 1 x 1 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 2
   : 1
   : 1

http://redscreensoft.blogspot.com

Voltar ao Topo Ir em baixo

Re: adicionar arquivos externos no game maker

Mensagem por diego333 em Seg 25 Jul 2011, 00:44

Create Event
Código:

Sound = ds_list_create();
Filename = ds_list_create();
no Evento de adicionar arquivos
Código:

var file;
file = get_open_filename("arquivos|*.bmp;*.jpg;*.gif;",'');
ds_list_add(Sound,sound_add(file));
ds_list_add(Filename,file);
para desenhar a playlist , no draw
Código:

var i;
for(i = 0 ; i < ds_list_size(Filename) ; i+=1){
      draw_text(x,y + (i * 16),ds_list_find_value(Filename,i));
}

diego333

Número de Mensagens : 84
Data de inscrição : 06/10/2010
Reputação : 3
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: adicionar arquivos externos no game maker

Mensagem por Alex FC em Seg 25 Jul 2011, 10:22

Consegui. Essa engine cria uma Playlist real de arquivos MP3, o que não vai sobrecarregar a memória do PC:

http://gmbr.forumeiros.com/t17612-engine-playlist-de-mp3-v20#132762

FLWS!

Alex FC

Ranking : Nota A
Número de Mensagens : 2503
Idade : 23
Data de inscrição : 20/12/2008
Notas recebidas : B A
Reputação : 174
Insignia 1 x 1 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 2
   : 1
   : 1

http://redscreensoft.blogspot.com

Voltar ao Topo Ir em baixo

Re: adicionar arquivos externos no game maker

Mensagem por Conteúdo patrocinado Hoje à(s) 12:04


Conteúdo patrocinado


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