Entrar
Últimos assuntos
» player não consegue andarpor lovn7 Qui 21 Nov 2024, 13:33
» É possível fazer istó no game maker
por William Lima Qui 21 Nov 2024, 10:56
» Rio Rise - novo launcher do Gta San Andreas SAMP Brasil
por Lua Sáb 16 Nov 2024, 20:22
» Cenario longo x Texture Pages
por josuedemoraes Sáb 16 Nov 2024, 15:31
» Kids' band
por Adilson Lucindo Santos Sex 15 Nov 2024, 12:23
» Engasgos-Troca de Sprites/animações
por josuedemoraes Ter 12 Nov 2024, 01:49
» Block Room - DEMO
por Joton Qua 06 Nov 2024, 22:58
» Game Infinito vertical (subindo)
por macmilam Sáb 26 Out 2024, 12:36
» Retorno da GMBR!!!
por Dancity Ter 22 Out 2024, 16:36
» Máquina de estados
por aminaro Qui 10 Out 2024, 13:33
» como faço pra um objeto colidir com o outro e diminuir a vida do player ?
por josuedemoraes Qui 03 Out 2024, 16:51
» RESOLVIDO: Colisão com objetos moveis
por josuedemoraes Qua 02 Out 2024, 20:28
» Crypt of the Blood Moon
por divin sphere Qua 11 Set 2024, 18:18
» como fazer um objeto seguir?
por divin sphere Dom 18 Ago 2024, 18:08
» Procuro de alguém para Modelar/Texturizar/Animar objetos 3D
por un00brn Dom 11 Ago 2024, 11:10
» Destruição de cenário (estilo DD Tank)
por CoronelZeg Sex 09 Ago 2024, 17:16
» RESOLVIDO-Como destruir uma instancia especifica de um objeto
por josuedemoraes Ter 23 Jul 2024, 00:40
» Automatizar a coleta de id
por GabrielXavier Seg 22 Jul 2024, 18:01
» Preciso de ajuda para concluir um pequeno projeto
por lmoura Qui 27 Jun 2024, 15:45
» ANGULO ACOMPANHAR O OBJETO
por Klinton Rodrigues Qui 27 Jun 2024, 08:34
» Musica reinicia quando sala reinicia
por GabrielXavier Ter 18 Jun 2024, 07:28
» como fazer uma copia de gd
por generico_cube Sex 14 Jun 2024, 15:48
» Square Adventure
por guilherme551 Ter 11 Jun 2024, 09:54
» como posso definir limite de uma variavel
por GabrielXavier Sex 07 Jun 2024, 14:14
» [Resolvido] Dúvida, colisão única de objeto
por vdm842 Sex 24 maio 2024, 09:50
[Tutorial] Recursos externos
+2
SIGILOSO
Fuzenrad
6 participantes
GMBR :: Ensine & Aprenda :: Tutoriais :: Game Maker
Página 1 de 1
[Tutorial] Recursos externos
Como usar recursos externos
Alguns tem essa curiosidade, já procuraram sobre, mas a falta de explicações complica bastante, no fórum eu não encontrei um tutorial sobre o assunto que não se aprofundasse tanto quanto eu pretendo nesse. É relativamente fácil usar recursos externos em seus jogos, fazendo-os de forma mais profissional e dinâmica.
Observação: Ao usar recursos externos lembre-se que mudanças externas podem ser feitas por qualquer um, entretanto jogos com a possibilidade de modificação de alguns recursos, podem fazer surgir layouts personalizados, playlist de músicas a escolha do jogador entre outros.
As principais funções para manipulação de arquivos externos são:
Música e efeitos sonoros
sound_add()
sound_replace()
sound_delete()
Backgrounds e imagens fixas
background_add()
background_replace()
background_delete()
Sprites e imagens móveis
sprite_add()
sprite_replace()
sprite_delete()
Eu recomendo usar o comando _add() para uso geral, no qual não existe a imagem no source, dependendo exclusivamente do arquivo externo, o _replace() é recomendado quando se tem uma imagem padrão caso não exista o arquivo e _delete() pra liberar a memória do jogo, fazendo-o assim ficar mais rápido. Em geral dominar essas funções com perfeição e harmonia requer estudo, tentativas e principalmente dedicação.
Esses comandos são muito bons para arquivos grandes, como músicas no formato mp3 ou wav, imagens de fundo etc.
Arquivos de som
Pra começar vou carregar uma música apartir de um arquivo e então executá-la. No evento Create (deve ser nesse evento, caso constrário o arquivo seria carregado eternamente, travando o jogo):
0 Sons normais (como explosões, clicks, pulos etc) geralmente no formato .wav
1 Música de fundo, formatos mid
2 Sons 3D (outro tipo de configuração)
3 Reprodução externa (como o mmplayer), formatos wma e mp3
Em um evento qualquer, você pode indicar para liberar a memória desse arquivo, por exemplo, Alarm[0], colocando:
Imagens/backgrounds
Muito útil quando você pretende lançar diferentes layouts pro jogo, mudando muitas vezes somente o background, isso abre uma enorme ramificação de possibilidades.
Seu funcionamento é muito semelhante aos sons, porém requer um pouco mais de atenção, já que as imagens devem ter o tamanho da tela e "encaixar" no designer do jogo, do contrário você terá um resultado "feio" visualmente.
Eu indiquei um background para o jogo apartir de um arquivo (lembre-se de ativar o "Visible when room starts" em "Background 0" nas configurações da room).
Para descartar um background, você pode indicar uma mudança de room, fica a critério, basta inserir:
Sprites
Cuidado ao descartar uma sprite (sprite_delete), você deve indicar uma nova caso contrário não será mostrado nada.
Alguns tem essa curiosidade, já procuraram sobre, mas a falta de explicações complica bastante, no fórum eu não encontrei um tutorial sobre o assunto que não se aprofundasse tanto quanto eu pretendo nesse. É relativamente fácil usar recursos externos em seus jogos, fazendo-os de forma mais profissional e dinâmica.
Observação: Ao usar recursos externos lembre-se que mudanças externas podem ser feitas por qualquer um, entretanto jogos com a possibilidade de modificação de alguns recursos, podem fazer surgir layouts personalizados, playlist de músicas a escolha do jogador entre outros.
As principais funções para manipulação de arquivos externos são:
Música e efeitos sonoros
sound_add()
sound_replace()
sound_delete()
Backgrounds e imagens fixas
background_add()
background_replace()
background_delete()
Sprites e imagens móveis
sprite_add()
sprite_replace()
sprite_delete()
Eu recomendo usar o comando _add() para uso geral, no qual não existe a imagem no source, dependendo exclusivamente do arquivo externo, o _replace() é recomendado quando se tem uma imagem padrão caso não exista o arquivo e _delete() pra liberar a memória do jogo, fazendo-o assim ficar mais rápido. Em geral dominar essas funções com perfeição e harmonia requer estudo, tentativas e principalmente dedicação.
Esses comandos são muito bons para arquivos grandes, como músicas no formato mp3 ou wav, imagens de fundo etc.
Arquivos de som
Pra começar vou carregar uma música apartir de um arquivo e então executá-la. No evento Create (deve ser nesse evento, caso constrário o arquivo seria carregado eternamente, travando o jogo):
- Código:
dir_mus1=working_directory+"\musica.mp3"
if file_exists(dir_mus1) {
musica1=sound_add(dir_mus1,3,1)
if !sound_isplaying(musica1) sound_play(musica1)}
0 Sons normais (como explosões, clicks, pulos etc) geralmente no formato .wav
1 Música de fundo, formatos mid
2 Sons 3D (outro tipo de configuração)
3 Reprodução externa (como o mmplayer), formatos wma e mp3
- Código:
sound_replace(snd_musica1,dir_mus1,3,1)
Em um evento qualquer, você pode indicar para liberar a memória desse arquivo, por exemplo, Alarm[0], colocando:
- Código:
if !sound_isplaying(musica1) sound_delete(musica1)
Imagens/backgrounds
Muito útil quando você pretende lançar diferentes layouts pro jogo, mudando muitas vezes somente o background, isso abre uma enorme ramificação de possibilidades.
Seu funcionamento é muito semelhante aos sons, porém requer um pouco mais de atenção, já que as imagens devem ter o tamanho da tela e "encaixar" no designer do jogo, do contrário você terá um resultado "feio" visualmente.
- Código:
dir_fnd1=working_directory+"\fundo.png"
if file_exists(dir_fnd1)
fundo1=background_add(dir_fnd1,0,1)
background_index[0]=fundo1
Eu indiquei um background para o jogo apartir de um arquivo (lembre-se de ativar o "Visible when room starts" em "Background 0" nas configurações da room).
Para descartar um background, você pode indicar uma mudança de room, fica a critério, basta inserir:
- Código:
background_delete(fundo1)
Sprites
- Código:
dir_sp1=working_directory+"\sprite.png"
if file_exists(dir_sp1)
sprite1=sprite_add(dir_sp1,0,0,0,0,0)
sprite_index=sprite1
Cuidado ao descartar uma sprite (sprite_delete), você deve indicar uma nova caso contrário não será mostrado nada.
Fuzenrad- Games Ranking :
Notas recebidas : A-A-A-A-B
Data de inscrição : 04/07/2010
Reputação : 46
Número de Mensagens : 1063
Prêmios :
x 0 x 0 x 0
x 1 x 0 x 1
x 0 x 0 x 0
Re: [Tutorial] Recursos externos
Eu levei mto tempo pra aprender a usar as funções _add, e ainda me complico bastante. Certamente esse tuto me ajudará muito em projetos maiores, e tbm poderá ajudar outros usuários que queiram jogos mais rápidos ou aplicativos personalisávies!
Parabéns, um ótimo tuto, mto bem explicado e que vai direto ao ponto!
Parabéns, um ótimo tuto, mto bem explicado e que vai direto ao ponto!
SIGILOSO- Games Ranking :
Notas recebidas : A+A+A+A+A+A+A
Data de inscrição : 06/06/2009
Reputação : 39
Número de Mensagens : 2267
Prêmios :
x 0 x 2 x 0
x 4 x 2 x 1
x 0 x 0 x 0
Re: [Tutorial] Recursos externos
Realmente, vai ajudara bastante.
Me ajudou bastante, pois sou ruim nessa função.
Me ajudou bastante, pois sou ruim nessa função.
Super Games- Games Ranking :
Notas recebidas : C
Data de inscrição : 10/06/2010
Reputação : 36
Número de Mensagens : 2800
Prêmios :
x 0 x 0 x 0
x 0 x 1 x 0
x 0 x 0 x 0
Plataformas :- Game Maker 8.0 ou 8.1
- Game Maker Studio 1.4
- Game Maker Studio 2.0
- Java
- Godot
- Javascript
- C ou C++
Re: [Tutorial] Recursos externos
E muito legal essa função _add.
Me responde uma coisa:
Como eu coloco para o sprite que eu criar não fique em formatos: .gif etc,
porque se ficar em uns desses formatos da para a pessoa editar.
Me responde uma coisa:
Como eu coloco para o sprite que eu criar não fique em formatos: .gif etc,
porque se ficar em uns desses formatos da para a pessoa editar.
Re: [Tutorial] Recursos externos
Se não quiser que o usuário edite os arquivos é mais prático não deixá-los acessíveis. Evitar isso de outro modo requer que os recursos sejam convertidos para formatos próprios e não é algo simples de fazer.
†Ceifador- Data de inscrição : 28/08/2010
Reputação : 0
Número de Mensagens : 154
Prêmios :
x 0 x 1 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: [Tutorial] Recursos externos
Existe uma maneira de modificar a extenção, entretanto não protege efetivamente o arquivo, afinal continua sendo uma imagem ou um som. Seria assim, você renomeia o arquivo pra qualquer extenção, por exemplo imagem.res ou som.res, mas antes de carregar o arquivo, você deve renomear para serem lidos como imagem ou som:Como eu coloco para o sprite que eu criar não fique em formatos: .gif etc, porque se ficar em uns desses formatos da para a pessoa editar.
- Código:
file_rename("imagem.res","imagem.png")
- Código:
file_rename("imagem.png","imagem.res")
Fuzenrad- Games Ranking :
Notas recebidas : A-A-A-A-B
Data de inscrição : 04/07/2010
Reputação : 46
Número de Mensagens : 1063
Prêmios :
x 0 x 0 x 0
x 1 x 0 x 1
x 0 x 0 x 0
Re: [Tutorial] Recursos externos
Funciona da mesma forma, se você substituir um background que está sendo usado como tile, ele continua sendo mostrado porém com o novo arquivo, no caso esse background deve existir no source para você substituí-lo.
- Código:
background_replace(bkgrd,working_directory+"\fundo.png",0,0)
Fuzenrad- Games Ranking :
Notas recebidas : A-A-A-A-B
Data de inscrição : 04/07/2010
Reputação : 46
Número de Mensagens : 1063
Prêmios :
x 0 x 0 x 0
x 1 x 0 x 1
x 0 x 0 x 0
Tópicos semelhantes
» [Trancado] Dúvida sobre carregar recursos externos
» [Tutorial] Backgrounds Externos, Desempenho
» Tutorial: Criando uma playlist com arquivos externos
» TUTORIAL – Fazendo um jogo de loads externos.
» limite de recursos
» [Tutorial] Backgrounds Externos, Desempenho
» Tutorial: Criando uma playlist com arquivos externos
» TUTORIAL – Fazendo um jogo de loads externos.
» limite de recursos
GMBR :: Ensine & Aprenda :: Tutoriais :: Game Maker
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos