Resumo
Mostrarei aqui uma maneira (claro que existem outras maneiras de fazer isto) para salvar (save) e carregar (load) números ou textos do LocalStorage.
Se você desejar contribuir com meu trabalho, você pode adquirir (comprar) um arquivo capx com um exemplo completo aqui
Game Template 8 - LocalStorage
(O arquivo capx do Game Template 8 - LocalStorage utiliza array e dictionary para salvar mais do que uma variável no LocalStorage, dê uma olhada)
Exemplos Grátis
Trabalhei em alguns exemplos grátis utilizando LocalStorage. Você pode fazer o download destes exemplos da minha pasta do Dropbox ou da minha página na internet.
Dropbox: Exemplos de LocalStorage (Dropbox)
Webpage: Exemplos de LocalStorage (Shatter-Box)
Por favor, perceba que eu não sou natural de um país de língua inglesa, mas darei o meu melhor para escrever num inglês correto. Se você notar qualquer erro, por favor me notifique via PM.
Obrigado!
O Plugin Local Storage
Visão Geral
Observação: Por favor, cheque primeiro se você fez o download da última versão do Construct 2. Caso contrário, o plugin não aparecerá no seu editor.
Você pode imaginar o LocalStorage como uma simples tabela de duas colunas (CHAVE, VALOR). Veja a ilustração acima.
NOTA DO TRADUTOR: "key" significa "chave"; "value" significa "valor". Observe que nesta tradução faço distinção do que é escrito com letra maiúscula e minúscula.
A CHAVE
A CHAVE será utilizada para identificar e pegar o VALOR associado salvo no LocalStorage. Você pode salvar quantas CHAVES quiser no seu LocalStorage. Cada CHAVE pode salvar um VALOR.
(A CHAVE será utilizada para pegar ou atualizar o VALOR salvo nela anteriormente.)
O VALOR
É o valor salvo para uma determinada CHAVE. O VALOR pode ser um número, um texto ou até um array como JSON (permite que salve todo um array no LocalStorage utilizando somente uma CHAVE).
Exemplo de Código
Agora vamos trabalhar com os eventos. Primeiro, precisamos adicionar nosso LocalStorage ao projeto.
Se o plugin não aparecer, verifique se você instalou a última versão do Construct 2.
Deixamos o LocalStorage verificar se uma determinada CHAVE já existe. Adicione o seguinte conjunto de eventos ao seu projeto.
Estes eventos irão checar se uma determinada CHAVE existe ou não no LocalStorage.
- playercoins - é uma variável numérica
- playercoins_key é a CHAVE onde o valor da variável 'playercoins' será salva (você poderia chamar a CHAVE do jeito que quiser, adicionei o termo '_key' para mostrar que a CHAVE não precisa ter o mesmo nome que a variável a ser salva, no caso 'playercoins')
O próximo passo é adicionar a ação que dirá o que fazer se a CHAVE existir ou não.
Se a CHAVE já existir
Se a CHAVE existir, então nós pegamos do LocalStorage usando a ação 'Get Item (playercoins_key)'. Caso a CHAVE tenha sido pega com sucesso, iremos atualizar o valor da variável 'playercoins'
Observação #1: Existe sempre o último VALOR salvo em 'LocalStorage.ItemValue'. Então, se você deseja pegar outro VALOR de alguma outra CHAVE, você deve primeiro utilizar 'Get Item (outra CHAVE)'. Só assim o valor desta outra CHAVE é salvo em 'LocalStorage.ItemValue'.
Observação #2: Um outro usuário percebeu que não é necessário utilizar 'Get Item' em 'Check if item exists'. Portanto, pode-se utilizar 'LocalStorage.ItemValue' diretamente no evento 'Check if item exists'.
Se a CHAVE não existir
Na primeira vez que o projeto é iniciado, o LocalStorage estará vazio, ou seja, nenhuma CHAVE foi salva. Neste caso, precisamos adicionar a seguinte ação ao evento 'if item X missing'.
Está ação irá criar um novo item com a CHAVE 'playercoins_key' e irá definir seu VALOR para o valor da variável numérica 'playercoins'.
Dúvidas?
Se tiver qualquer dúvida ou se achar que está faltando algo neste tutorial, por favor utilize este tópico para me informar:
LocalStorage - Forum (em inglês)
NOTA DO TRADUTOR: traduções dos termos de eventos e ações utilizadas. "Get Item" significa "pegar item". "Check if item exists" significa "Verifique se o item existe". "If item X missing" signigfica "se item X está faltando".