Persistência de dados
2 participantes
Ren'Py Brasil :: Inicio :: Ren'Py :: Tutoriais
Página 1 de 1
Persistência de dados
Vou fazer um breve tutorial/explicação sobre persistência de dados (guardar dados em variáveis que ficam salvas mesmo depois de fechar o programa).
A RPY permite duas formas de salvar dados persistentes nos jogos, e cada uma das duas tem suas características.
1. Objeto persistent:
-> Esse modo de persistência usa o mesmo sistema para salvar as configurações do jogo (tela, volume, velocidade do texto etc). Esses objetos são salvos exatamente nesse mesmo arquivo "persistent".
Como usar (esse método salva de forma automática):
É possível comparar persistent mesmo ele não sendo instanciado:
-> Esse método é melhor usar para coisas mais "core" e/ou simples do seu jogo, isso porque o método seguinte é mais específico que este.
2. Método MultiPersistent:
-> O método MultiPersistent serve para casos mais especiais. Ele é independente no seu jogo, isso faz com que vários jogos possam acessá-lo, como uma série de jogos, por exemplo (como aqueles jogos da TellTale, por exemplo o The Walking Dead).
Como usar (esse método salva de forma manual):
-> Para poder verificar os objetos use o mesmo método do "persistent" comum.
Para reutilizar um objeto criado em um outro jogo é preciso inicializá-lo também, com o mesmo nome:
-> O método MultiPersistent possui uma incompatibilidade com Android, mas como foi afirmado pelo PyTom em uma issue da versão 6.99, esse problema será arrumado (ainda não cheguei a testar, mas se alguém já o fez avise por favor).
A RPY permite duas formas de salvar dados persistentes nos jogos, e cada uma das duas tem suas características.
1. Objeto persistent:
-> Esse modo de persistência usa o mesmo sistema para salvar as configurações do jogo (tela, volume, velocidade do texto etc). Esses objetos são salvos exatamente nesse mesmo arquivo "persistent".
Como usar (esse método salva de forma automática):
- Código:
#Salvando (exemplo: terminando uma rota)#
$ persistent.finalizouRota1 = True
É possível comparar persistent mesmo ele não sendo instanciado:
- Código:
#Comparando (exemplo: um objeto para uma galeria que ainda nem foi criado/inicializado)#
if not persistent.galeriaLiberada:
text "Você ainda não liberou esta galeria!"
-> Esse método é melhor usar para coisas mais "core" e/ou simples do seu jogo, isso porque o método seguinte é mais específico que este.
2. Método MultiPersistent:
-> O método MultiPersistent serve para casos mais especiais. Ele é independente no seu jogo, isso faz com que vários jogos possam acessá-lo, como uma série de jogos, por exemplo (como aqueles jogos da TellTale, por exemplo o The Walking Dead).
Como usar (esse método salva de forma manual):
- Código:
#primeiro é preciso criar uma instância do método MultiPersistent, de preferência usando um bloco init#
init:
$ nomeQualquer = MultiPersistent("com.grupo.serie") #o "com.grupo.serie" é o nome que você quiser, desde que identifique claramente o seu jogo/série#
#Quando for criar um objeto dentro da persistência#
$ nomeQualquer.trueEnding = True #<- criando#
$ nomeQualquer.save() #<- salvando manualmente#
-> Para poder verificar os objetos use o mesmo método do "persistent" comum.
Para reutilizar um objeto criado em um outro jogo é preciso inicializá-lo também, com o mesmo nome:
- Código:
init:
$ nomeQualquer = MultiPersistent("com.grupo.serie")
-> O método MultiPersistent possui uma incompatibilidade com Android, mas como foi afirmado pelo PyTom em uma issue da versão 6.99, esse problema será arrumado (ainda não cheguei a testar, mas se alguém já o fez avise por favor).
Re: Persistência de dados
Oi, eu nunca tive coragem de usar essa ferramenta mas estou pensando em usar, mas estou na duvida se vai servir ou como aplicar.
Seria assim: Vou fazer um jogo bem curtinho com dez perguntas para comemorar o Halloween. Cada pergunta tem três escolhas, quero dar ao jogador a chance de errar três vezes mas depois dessas três dá uma bad end. Enquanto se o jogador não errar três vezes pode continuar jogando.
Cada resposta errada dá um ponto.
Cada resposta certa dá três pontos.
Como eu consigo configurar isso?
Seria assim: Vou fazer um jogo bem curtinho com dez perguntas para comemorar o Halloween. Cada pergunta tem três escolhas, quero dar ao jogador a chance de errar três vezes mas depois dessas três dá uma bad end. Enquanto se o jogador não errar três vezes pode continuar jogando.
Cada resposta errada dá um ponto.
Cada resposta certa dá três pontos.
Como eu consigo configurar isso?
Ren'Py Brasil :: Inicio :: Ren'Py :: Tutoriais
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos
|
|