Obrigado por visitar a The Game Makers Brasil Use o fórum de Dúvidas para fazer perguntas. Se está em busca de aprender dê uma olhada nos tutoriais. |
Ajuda com sistema de Arquivo para Editor d Fases
- divin sphere hirosha
- Membro
- Reações: 1
- Mensagens: 97
-
Ajuda com sistema de Arquivo para Editor d Fases
Olá pessoal, quanto tempo que eu não apareço por aqui xD Bem, eu vim aqui para ver se conseguia resolver uma dúvida minha, Tipo assim...
Eu vou começar a cursar o terceiro período da faculdade de Ciência da computação e nesses meses que eu estive estudando lá eu aprendi muitas coisas bem legais tais que eu poderia usar durante a programação de jogos e foi o que eu resolvi fazer, Certo dia a qual não me lembro nem o motivo eu comecei a pensar "Hm, será que eu poderia usar aquilo para fazer isso?" e Realmente funcionou!, Nessa época eu estava aprendendo sobre manipulação de arquivos e resolvi fazer um Editor de fases utilizando tudo isso que vi, consegui fazer algo que eu realmente não me via fazendo faz bastante tempo já que eu tinha parado de mexer no Game Maker para focar na faculdade, Meu editor de fases está basicamente completíssimo, todos os sistemas dele já funcionam, vc pode criar livremente a sua fase, pode até mudar o tamanho dela para colocar mais ou menos objetos, mudar o background ou até a música de fundo, Vou deixar aqui uma foto do editor de fases:
Coloquei esses objetos bem rápido pra poder mostrar como está ficando rsrs, ainda vou colocar mais objetos no editor, ele em si já está feito, a fase é salva e vc pode jogar normalmente nela! falta apenas preencher todos os Slots de edições, Agora finalmente para a minha dúvida xD Bem, depois de vc editar a sua fase vc ira escolher o nome para ela e ela finalmente ficará salva na pasta com todas as outras fases editadas, o que eu quero fazer é, uma seção que mostre todas as fases editadas para vc poder jogar, em vez de fazer algo simples como "Digite o nome da fase que vc quer jogar" fazer um display que mostrasse todas as fases já criadas, seria algo tipo assim:
Fiz no paint para demonstração, bem rápido, ignorem os nomes das fases kk, a parte do display não é problema, meu real problema é "Como fazer para o Game Maker ler todos os arquivos de uma pasta?"
Suponhamos que tenhamos uma pasta igual a esta, com todas as fases salvas, eu queria saber como eu faço para ler todos os arquivos que estão dentro dessa pasta sem saber previamente o nome dos arquivos porque tipo, como o jogador ira escolher o nome das fases não tem como eu deixar programado para o game maker ler um determinado nome de arquivo como "fase1" "fase2" e "fase3" pois os nomes serão aleatórios, Em linguagem de Game Maker oque eu quero fazer é algo tipo :
Enquanto ( Não leu todos os arquivos da pasta em questão) Faça{
Leia o Próximo arquivo
Salve o nome dele
Feche o arquivo lido
}
Eu vou começar a cursar o terceiro período da faculdade de Ciência da computação e nesses meses que eu estive estudando lá eu aprendi muitas coisas bem legais tais que eu poderia usar durante a programação de jogos e foi o que eu resolvi fazer, Certo dia a qual não me lembro nem o motivo eu comecei a pensar "Hm, será que eu poderia usar aquilo para fazer isso?" e Realmente funcionou!, Nessa época eu estava aprendendo sobre manipulação de arquivos e resolvi fazer um Editor de fases utilizando tudo isso que vi, consegui fazer algo que eu realmente não me via fazendo faz bastante tempo já que eu tinha parado de mexer no Game Maker para focar na faculdade, Meu editor de fases está basicamente completíssimo, todos os sistemas dele já funcionam, vc pode criar livremente a sua fase, pode até mudar o tamanho dela para colocar mais ou menos objetos, mudar o background ou até a música de fundo, Vou deixar aqui uma foto do editor de fases:
Coloquei esses objetos bem rápido pra poder mostrar como está ficando rsrs, ainda vou colocar mais objetos no editor, ele em si já está feito, a fase é salva e vc pode jogar normalmente nela! falta apenas preencher todos os Slots de edições, Agora finalmente para a minha dúvida xD Bem, depois de vc editar a sua fase vc ira escolher o nome para ela e ela finalmente ficará salva na pasta com todas as outras fases editadas, o que eu quero fazer é, uma seção que mostre todas as fases editadas para vc poder jogar, em vez de fazer algo simples como "Digite o nome da fase que vc quer jogar" fazer um display que mostrasse todas as fases já criadas, seria algo tipo assim:
Fiz no paint para demonstração, bem rápido, ignorem os nomes das fases kk, a parte do display não é problema, meu real problema é "Como fazer para o Game Maker ler todos os arquivos de uma pasta?"
Suponhamos que tenhamos uma pasta igual a esta, com todas as fases salvas, eu queria saber como eu faço para ler todos os arquivos que estão dentro dessa pasta sem saber previamente o nome dos arquivos porque tipo, como o jogador ira escolher o nome das fases não tem como eu deixar programado para o game maker ler um determinado nome de arquivo como "fase1" "fase2" e "fase3" pois os nomes serão aleatórios, Em linguagem de Game Maker oque eu quero fazer é algo tipo :
Enquanto ( Não leu todos os arquivos da pasta em questão) Faça{
Leia o Próximo arquivo
Salve o nome dele
Feche o arquivo lido
}
Ei você! você que está do outro lado da telinha, Tudo ótimo? Venha conferir meus projetos na google play!
Cubow Racer Infinity
MineField
FishBreak
Bring The Block
Ver Todos os Projetos
Cubow Racer Infinity
MineField
FishBreak
Bring The Block
Ver Todos os Projetos
Re: Ajuda com sistema de Arquivo para Editor d Fases
Bacana, como tu não disse qual GM está utilizando, então vou supor que seja o Studio. O código abaixo respeita as restrições de só ler/escrever dentro da SandBox do GM:S ("C:\Users\FULANO_DE_TAL\AppData\Local\NOME_DO_GAME").
Tá simples de entender, espero que ajude.
Tá simples de entender, espero que ajude.
Código: Selecionar todos
// Caminho da pasta onde estão os níveis
var _folder = working_directory + "Levels\";
// Variável que vai guardar o nome dos arquivos
var _file = "";
// Pasta existe?
if directory_exists(_folder)
{
show_debug_message("PASTA 'LEVELS' EXISTE.");
// Encontra primeiro arquivo
_file = file_find_first(_folder + "*.txt", fa_archive);
if _file != ""
{
show_debug_message("ARQUIVO ENCONTRADO: " + _file);
// Aqui você pode pegar o nome do primeiro arquivo na var '_file'
}
else
{
show_debug_message("NENHUM ARQUIVO NESTA PASTA.");
}
// Encontra os demais
do
{
_file = file_find_next();
if _file != ""
{
show_debug_message("ARQUIVO ENCONTRADO: " + _file);
// Aqui você pode pegar o nome dos demais arquivos na var '_file'
}
}
until _file == "";
}
// Se a pasta não existe
else
{
// Criamos a pasta
show_debug_message("PASTA 'LEVELS' NÃO EXISTE.");
var _create_dir = directory_create(working_directory + "Levels");
if _create_dir show_debug_message("PASTA 'LEVELS' CRIADA COM SUCESSO!")
else show_debug_message("ALGO DEU ERRADO. VERIFIQUE AS PERMISSÕES.");
}
- divin sphere hirosha
- Membro
- Reações: 1
- Mensagens: 97
-
Re: Ajuda com sistema de Arquivo para Editor d Fases
Muito obrigado cara! Funcionou direitinho xD eu só tive que fazer algumas modificações e pronto o/
Essa parte " var _create_dir = directory_create(working_directory + "Levels");' estava criando a pasta no Desktop, demorei para perceber achando que o código não estava funcionando, mudei para "\Levels" e começou a dar certo,
Também coloquei a parte do "se a pasta não existe, criamos a pasta" em primeiro lugar, já que essa pasta vai ser necessária de qualquer forma
Por sinal, eu uso o Game Maker 8.1 por incrível que pareça xD ele é mais leve então consigo fazer vários testes bem rápido no meu notebook q não é dos melhores, eu normalmente completo o jogo no game maker 8.1 e depois dou aquela convertida pro Studio pra tirar aquela marca de água chata da tela kkkk sei que não é a melhor abordagem mas é o jeito :B
Depois vou ver se posto uma Demo rápida desse projeto, quem sabe eu consiga algumas sugestões legais :D
Essa parte " var _create_dir = directory_create(working_directory + "Levels");' estava criando a pasta no Desktop, demorei para perceber achando que o código não estava funcionando, mudei para "\Levels" e começou a dar certo,
Também coloquei a parte do "se a pasta não existe, criamos a pasta" em primeiro lugar, já que essa pasta vai ser necessária de qualquer forma
Por sinal, eu uso o Game Maker 8.1 por incrível que pareça xD ele é mais leve então consigo fazer vários testes bem rápido no meu notebook q não é dos melhores, eu normalmente completo o jogo no game maker 8.1 e depois dou aquela convertida pro Studio pra tirar aquela marca de água chata da tela kkkk sei que não é a melhor abordagem mas é o jeito :B
Depois vou ver se posto uma Demo rápida desse projeto, quem sabe eu consiga algumas sugestões legais :D
Ei você! você que está do outro lado da telinha, Tudo ótimo? Venha conferir meus projetos na google play!
Cubow Racer Infinity
MineField
FishBreak
Bring The Block
Ver Todos os Projetos
Cubow Racer Infinity
MineField
FishBreak
Bring The Block
Ver Todos os Projetos
Quem está online
Usuários navegando neste fórum: Semrush [Bot] e 1 visitante