laira 9c9bde8aa6 criei README para raiz e para o pacote que carrega midia | há 3 anos atrás | |
---|---|---|
.. | ||
audio | há 3 anos atrás | |
img | há 3 anos atrás | |
lang | há 3 anos atrás | |
README.md | há 3 anos atrás | |
carregandoAudio.js | há 3 anos atrás | |
carregandoImagem.js | há 3 anos atrás | |
carregandoLinguagem.js | há 3 anos atrás | |
index.html | há 3 anos atrás |
O iFractions utiliza imagens, audios e arquivos de idioma durante a execucao. Assim, e necessario que antes que qualquer um desses elementos sejam chamados no codigo exista uma garantia de que estes estejam carregados no cache.
Levando em consideracao que o iFractions eh um aplicativo de pagina unica (single page application), uma "mudanca de tela" dentro do jogo na verdade corresponde a desenhar novos elementos graficos no Canvas (HTML), sobrescrevendo a tela anterior.
Dessa forma, diferente de uma aplicacao de varias paginas, onde a cada carregamento os elementos de midia ficam prontos antes do codigo executar, ele utiliza chamadas assincronas tanto para carregar os arquivos base necessarios no inicio do programa, como para carregar novos elementos durante a execucao.
Para isso, arquivos de idioma e audio sao carregados usando Fetch API e imagens usando HTMLImageElement, ambos nativos do Javascript.
(Este pacote deve ser descarregado no servidor local)
Ele contem um arquivo index.html que apresenta uma aplicacao de pagina unica onde voce pode carregar dinamicamente e utilizar os seguintes tipos de midia:
Obs.: um elemento so pode ser usado se tiver sido anteriormente carregado no cache.
Em: carregandoImagem.js
funcao | nome |
---|---|
carregamento | loadImages() |
uso | drawImages() |
usa HTMLImageElement
Em: carregandoAudio.js
funcao | nome |
---|---|
carregamento | loadAudios() |
uso | playAudio() |
usa Fetch API
Em: carregandoLinguagem.js
funcao | nome |
---|---|
carregamento | loadLangs() |
uso | printLangs() |
usa Fetch API
Os formato dos arquivos de idioma usados pelo iFractions (como pode ser visto aqui em /lang) seguem a seguinte estrutura:
Assim, a funcao de tratamento de linguagem trata os arquivos que seguem essa formatacao.
No iFractions, as funcoes de carregamento e uso estao definidas em /js/gameMechanics.js:
Carregamento:
Uso:
Para cada estado, se for necessario, arquivos de midia sao carregados dentro da funcao preload(), para serem usados no resto do codigo. Essa funcao aguarda que tudo seja carregado antes de continuar o codigo.