Introdução
digamos que voce possua um jogo grande, e deseja separar os graficos do jogo em pastas diferentes da arquitetura do RMXP
(graphics/pictures,graphics/characters,graphics/icons,graphics/animations)
ao invés de usa-las quero criar uma pasta minha. por exemplo quero uma pasta com os gráficos de todos os MASCOTES do meu game. (fiz isso no HWO :) )
Script
então, para os desenvolvedores no RGSS o RPG Maker possui um módulo que controla as pastas padroes (apesar de não ser visível na lista de scripts). o nome dela é RPG. e dentro desse mesmo módulo possui o módulo com as funções para acesso, seu nome é: Cache .(todo mundo sabe disso D: )
logo a arquitetura fica :
- Código:
module RPG
module Cache
end
end
as funções comuns são :
RPG::Cache.character
RPG::Cache.picture
RPG::Cache.icon
RPG::Cache.animation
RPG::Cache.battler
com o meu exemplo acima, o script fica assim :
- Código:
module RPG
module Cache
def self.mascote(file)
return Bitmap.new("Graphics/Mascotes/"+file.to_s)
end
end
end
com isso tenho a função: RPG::Cache.mascote(nome_arquivo)
para isso, tambem tenho que ter a pasta Mascotes dentro de Graphics
- Screen:
agora vamos fazer um teste ?
digamos que eu tenha o arquivo: rato.png
dentro da pasta Mascotes e quero utiliza-la em meu script.
quero saber a sua largura, sua altura e a soma dos mesmos.
após adicionar o script do módulo acima ,
basta utiliza-lá com total liberdade.
o código ficaria +/- assim:
- Código:
largura = RPG::Cache.mascote("rato").width
altura = RPG::Cache.mascote("rato").height
soma = largura + altura
print("Largura é: #{largura}, Altura é: #{altura} e a Soma é: #{soma}")
Atenção
essa pequena incrementação ao módulo RPG::Cache é de scripter para scripter.
é mais para uma ajuda aos scripters iniciantes que criam seus sistemas
e mandam sempre o pessoal colocar numa pasta do sistema tipo a Characters
ou Pictures, sendo que voce pode criar uma por exemplo para HUD, CHAT etc .
fazendo com que apenas seu código acesse. não é possivel fazer a interface gráfica do programa(tipo criador de eventos ou o DATABASE) acessar essas pastas "clandestinas" (a não ser que voce faça engenharia reversa do programa e consiga acesso ao código fonte completo do programa ).