Barra de Vida com Tela de GAME OVER simples
4 participantes
Ren'Py Brasil :: Inicio :: Ren'Py :: Tutoriais
Página 1 de 1
Barra de Vida com Tela de GAME OVER simples
Fiquei bastante tempo tentando fazer isso funcionar, então espero que possa ajudar alguém!
Esse, colocar no início do Script principal.
Esse, colocar no final do Script Principal:
Colocar no momento da história que quer que apareça a barra:
E para aumentar ou diminuir a vida colocar sempre:
No projeto teste coloquei completo assim:
Ignorem os textos, foi somente para o teste, espero que ajude alguém, att.
Esse, colocar no início do Script principal.
- Spoiler:
- init python:
player_hp=100
health=100
show_stats=False
def stats_overlay():
if show_stats:
ui.frame()
ui.vbox()
ui.text("Health")
ui.bar(player_hp,health, xmaximum=100)
ui.close()
config.overlay_functions.append(stats_overlay)
Esse, colocar no final do Script Principal:
- Spoiler:
- ##############################################GAME OVER
label player_dead_check:
if health <= 0:
centered "You don't have more health, you loose."
centered "GAME OVER"
$ renpy.full_restart()
else:
return
Colocar no momento da história que quer que apareça a barra:
- Spoiler:
- $ show_stats=True
E para aumentar ou diminuir a vida colocar sempre:
- Spoiler:
- $ health-=50 ######DIMINUIR VIDA
call player_dead_check
$ health+=50 ######AUMENTAR VIDA
call player_dead_check
No projeto teste coloquei completo assim:
- Spoiler:
- init python:
player_hp=100
health=100
show_stats=False
def stats_overlay():
if show_stats:
ui.frame()
ui.vbox()
ui.text("Health")
ui.bar(player_hp,health, xmaximum=100)
ui.close()
config.overlay_functions.append(stats_overlay)
# Declare characters used by this game.
define e = Character('Eileen', color="#c8ffc8")
# The game starts here.
label start:
e "M-Mister, who is coming?"
e "Just listen."
$ show_stats=True ######MOSTRAR BARRA
e "I was hired to kidnap you, kid."
$ health-=50 ######DIMINUIR VIDA
call player_dead_check
e "You've created a new Ren'Py game."
$ health-=100
call player_dead_check
e "Once you add a story, pictures, and music, you can release it to the world!"
##############################################GAME OVER
label player_dead_check:
if health <= 0:
centered "You don't have more health, you loose."
centered "GAME OVER"
$ renpy.full_restart()
else:
return
Ignorem os textos, foi somente para o teste, espero que ajude alguém, att.
Re: Barra de Vida com Tela de GAME OVER simples
- Código:
label player_dead_check:
if health <= 0:
$ show_stats=False
centered "You don't have more health, you loose."
show bg
with dissolve
centered ""
$ renpy.full_restart()
else:
return
Esqueci de colocar esse, esse outro coloquei dessa forma para reconhecer como background padrão do renpy quando coloca como "image bg = ("NOME.jpg")" XD ~
Re: Barra de Vida com Tela de GAME OVER simples
Muito bom para usar em games de aventura, ou alguma barra de amor.
Só achei que não é um tutorial em si, isso é um sistema que você criou.
Apesar disto, muito bom o sistema.
Só achei que não é um tutorial em si, isso é um sistema que você criou.
Apesar disto, muito bom o sistema.
Kloson- Moderador
- Mensagens : 79
Data de inscrição : 25/08/2015
Projetos : Tempo Livre
Re: Barra de Vida com Tela de GAME OVER simples
Kloson escreveu:Muito bom para usar em games de aventura, ou alguma barra de amor.
Só achei que não é um tutorial em si, isso é um sistema que você criou.
Apesar disto, muito bom o sistema.
ah, achei que podia ser considerado tutorial pq vi outros tutoriais daqui que também estão assim o.o
Re: Barra de Vida com Tela de GAME OVER simples
Sim rsrsrs.
É que aqui tu disse o que cada codigo fazia e não como.
Mas de qualquer modo só foi uma observação.
Foi por bem :3
É que aqui tu disse o que cada codigo fazia e não como.
Mas de qualquer modo só foi uma observação.
Foi por bem :3
Kloson- Moderador
- Mensagens : 79
Data de inscrição : 25/08/2015
Projetos : Tempo Livre
Re: Barra de Vida com Tela de GAME OVER simples
Realmente isso não é bem um tutorial, mas ok :v
Algumas coisas aí poderiam ser melhoradas, justamente pq esse sistema está bem fechado no sentido de que só poderia ser usado para um único personagem.
E além de não estar devidamente otimizado, tem um método mais "python" e menos "renpy", o que dificulta o entendimento pra quem não manja muito de python.
Refiz esse sistema deixando ele mais prático e aberto.
Cópia do script: https://gist.github.com/williamd1k0/38b03b61afb638bdc93c
Algumas coisas aí poderiam ser melhoradas, justamente pq esse sistema está bem fechado no sentido de que só poderia ser usado para um único personagem.
E além de não estar devidamente otimizado, tem um método mais "python" e menos "renpy", o que dificulta o entendimento pra quem não manja muito de python.
Refiz esse sistema deixando ele mais prático e aberto.
Cópia do script: https://gist.github.com/williamd1k0/38b03b61afb638bdc93c
- Código:
- Código:
# É necessário um bloco init para criar as variáveis antes de inicializar o resto
init python:
# variáveis globais, serão alteradas dinamicamente
vidaPlayer = 100
vidaMaxima = 100
# Criando uma tela (screen) -> uma screen pode ser criada em qualquer lugar, inclusive no arquivo screens.rpy
# Telas são layers do jogo que podem ser exibidas acima do layer principal
# Screens suportam argumentos, como em um método, no caso você pode passar informações quando exibir essa tela.
screen barraDeVida(tamanhoDaBarra=100):
# Aqui fica a linguagem básica usada em screens
# Frames são subdivisões em uma tela
frame:
# Vbox é uma caixa visual com orientação vertical
has vbox
# Uma referência visual, poderia ser uma imagem também
text "Vida"
# A barra em si, que vai usar variáveis para definir os valores
# vidaMaxima(global::inteiro): o número máximo pra vida
# vidaPlayer(global::inteiro): o número da vida atual do personagem
# tamanhoDaBarra(local::inteiro ou flutuante): o tamanho da barra, se for inteiro então é passado um valor em pixel, se flutuante então é em porcentagem
$ ui.bar(vidaMaxima,vidaPlayer,xmaximum=tamanhoDaBarra)
# Declaração do personagem
define personagem = Character("Mocinho")
# Início do jogo
label start:
# exibe a barra de vida sem passar nenhuma informação
show screen barraDeVida() # sem argumento, o tamanho será o pré-definido (100)
# Characters são objetos e podem guardar atributos
$ personagem.vida = 100
personagem "Sinto uma presença!"
# oculta a barra de vida
hide screen barraDeVida
personagem "Hmmm...."
# novamente mostrando a barra, mas agora com argumento
show screen barraDeVida(500) # agora o tamanho da barra vai ser alterado para 500
narrator "Um monsto misterioso ataca!"
# diminuindo o atributo "vida" de "personagem" em 50
$ personagem.vida -= 50
# repassando o valor da vida do personagem para a variável global responsável por exibir na barra
$ vidaPlayer = personagem.vida
# checar se a vida "global" é menor que zero (aka morreu)
call checarVida
# se for maior que zero continua
personagem "Ai!! Essa machucou~"
narrator "O monsto misterioso ataca novamente!"
# alterando novamente a vida e atualizando na barra
$ personagem.vida -= 50
$ vidaPlayer = personagem.vida
# checando a vida novamente, mas agora vai dar zero
call checarVida
# apartir daqui nada será executado pois o personagem morre
personagem "Sou um fantasma agora..."
# label que faz a checagem da vida
label checarVida:
# se a vida for igual ou menor que zero
if vidaPlayer <= 0:
centered "Sua vida esgotou!"
centered "GAME OVER"
# este método força a execução para o menu princiapal
$ renpy.full_restart()
else:
# se não for menor que zero só retorna
return
Re: Barra de Vida com Tela de GAME OVER simples
Como faço para fazer uma barra dessas só que com outra aparência e barra vertical?
Kloson- Moderador
- Mensagens : 79
Data de inscrição : 25/08/2015
Projetos : Tempo Livre
Re: Barra de Vida com Tela de GAME OVER simples
Kloson escreveu:Como faço para fazer uma barra dessas só que com outra aparência e barra vertical?
O método "bar" tem um argumento "style" pra alterar isso, por exemplo:
- Código:
ui.bar(vidaMaxima,vidaPlayer,ymaximum=tamanhoDaBarra,style='vbar')
Na barra horizontal, o tamanho máximo é pelo eixo X (xmaximum) e na vertical é pelo eixo Y (ymaximum).
Os tipo possíveis para o "style" são: bar, scrollbar, vbar ou vscrollbar.
Sobre a aparência, é uma coisa que vc precisa alterar manualmente no objeto "config", daqueles que ficam no options.rpy, só não sei agora quais são os parâmetros específicos.
Re: Barra de Vida com Tela de GAME OVER simples
Vou deixar aqui esse snippet externo pra poder ter o syntax highlight (código colorido) mais próximo da sintaxe do Ren'py:
http://williamd1k0.github.io/renpysnippets/?snippet=barra_de_vida.rpy
http://williamd1k0.github.io/renpysnippets/?snippet=barra_de_vida.rpy
Tópicos semelhantes
» Modo simples de colocar variáveis na tela de seu jogo (pontos de ação, dinheiro, popularidade)
» Jogo em tela cheia no Androi e Ios
» Barra de Afinidade com Imagem
» Sistema de Amizade por Barra!
» Transição da tela
» Jogo em tela cheia no Androi e Ios
» Barra de Afinidade com Imagem
» Sistema de Amizade por Barra!
» Transição da tela
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