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

Perguntas? A comunidade te ajuda a resolver.
Avatar do usuário
divin sphere hirosha
Membro
Membro
Reações: 1
Mensagens: 97

Ajuda com sistema de Arquivo para Editor d Fases

Mensagem por divin sphere hirosha » Ter Jan 08, 2019 2:02 pm

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:

Imagem

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:

Imagem

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?"

Imagem

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

Avatar do usuário
All-x
Administrador
Administrador
Reações: 8
Mensagens: 621
Localização: Dourados-MS

Contato:

Re: Ajuda com sistema de Arquivo para Editor d Fases

Mensagem por All-x » Ter Jan 08, 2019 8:07 pm

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.

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.");
}
Começando com o Game Maker? Olhou para assinatura certa!

Imagem

Tutoriais e vídeo aulas de programação! Clique no Banner e confira!

Avatar do usuário
divin sphere hirosha
Membro
Membro
Reações: 1
Mensagens: 97

Re: Ajuda com sistema de Arquivo para Editor d Fases

Mensagem por divin sphere hirosha » Qua Jan 09, 2019 1:51 pm

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
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

Responder

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 3 visitantes