Lua RPG Maker
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

[Resolvido][RGSS2]Duvida com tempo de windows

4 participantes

Ir para baixo

[Resolvido][RGSS2]Duvida com tempo de windows Empty [Resolvido][RGSS2]Duvida com tempo de windows

Mensagem por kako92 Seg Ago 16, 2010 3:21 pm

Como posso criar uma window que após ser chamada, tenha um determinado tempo pra sumir?

Eu sei que elas ja somem automaticamente, mas demora um pouco, eu gostaria de no maximo 5 segundos...

E tambem gostaria de saber se há algo que controle o numero de vezes que a janela será aberta, por exemplo:
-Chamei uma vez com "Chamar Script";
-Chamei do mesmo modo e esta segunda sobrepôs a primeira.

Se houver algo assim me informem, please.

OBS: Caso seja do interesse de alguem, isto vai servir para o script de troféis in-game que eu fiz pedido à alguns dias e então resolvi fazer.


Última edição por kako92 em Ter Ago 17, 2010 5:03 pm, editado 1 vez(es)
kako92
kako92

Mensagens : 30
Data de inscrição : 14/07/2010
Idade : 32
Localização : http://kako92scripts.blogspot.com/

http://kako92scripts.blogspot.com/

Ir para o topo Ir para baixo

[Resolvido][RGSS2]Duvida com tempo de windows Empty Re: [Resolvido][RGSS2]Duvida com tempo de windows

Mensagem por lasso Seg Ago 16, 2010 6:10 pm

na scene de trofeis, no def start, crie uma variavel por exemplo
Código:
Scene_trofeu < Scene_Base
  def start
    @janela = Janela.new
  end
end
e depois para ela sumir use
Código:
@janela.visible = false
e para ela aparecer:
Código:
@janela.visible = true

ja para sobrepor é mais simples
no def refresh da window coloque
Código:
self.contents.clear
e sempre que o refresh for chamado vai apagar tudo da window e refaze-la

eu tive a mesma dificuldade fazendo uma hud

lasso

Mensagens : 13
Data de inscrição : 29/07/2010
Idade : 27

Ir para o topo Ir para baixo

[Resolvido][RGSS2]Duvida com tempo de windows Empty Re: [Resolvido][RGSS2]Duvida com tempo de windows

Mensagem por kako92 Seg Ago 16, 2010 6:42 pm

Vou testar, ja edito.
Edit:
Não deu muito certo mas eu ja sei porque.
Vou só refazer uma parte aqui e em breve posto pra todos.

Edit2:
Não obtive sucesso

Aqui vai o script pra quem quiser analisar:
Código:

class Scene_Trophy_Display < Window_Base
 def initialize(id)
  $trophy_id = id
  start
 end
 def start
  @window = Window_Trophy_Display.new($trophy_id)
  @window.visible = true
 end
 def update
  @window.update
  if Input.trigger?(Input::C)
      @window.visible = false
      terminate
      $scene = Scene_Map.new
    end
  end
  def terminate
    @window.dispose
  end
end

class Window_Trophy_Display < Window_Base
 def initialize(id)
  super (343,1,200,75)
  $trophy_id = id
  self.opacity = 0
  @preview = Sprite.new
    if Trophy::T_DET[$trophy_id][0] == Trophy::T_IMG[0]
      @preview.bitmap = Cache.system(Trophy::T_IMG[0][1])
    elsif Trophy::T_DET[$trophy_id][0] == Trophy::T_IMG[1]
      @preview.bitmap = Cache.system(Trophy::T_IMG[1][1])
    elsif Trophy::T_DET[$trophy_id][0] == Trophy::T_IMG[2]
      @preview.bitmap = Cache.system(Trophy::T_IMG[2][1])
    elsif Trophy::T_DET[$trophy_id][0] == Trophy::T_IMG[3]
      @preview.bitmap = Cache.system(Trophy::T_IMG[3][1])
    end
    @preview.x = self.x + 15
    @preview.y = self.y + 20
    @preview.z = 100
    if Trophy::T_DISPLAY_BACK != nil
    self.opacity = 0
    @preview_back = Sprite.new
    @preview_back.bitmap = Cache.system(Trophy::T_DISPLAY_BACK)
    @preview_back.x = self.x
    @preview_back.y = self.y
    else
    self.opacity = 200
  end
  $game_switches[Trophy::T_DET[$trophy_id][2]] = true
  update
 end
 def update
  self.contents.clear
  Graphics.update             
  Input.update
  @trophy_name = Trophy::T_LIST[$trophy_id]
  self.contents.font.color = Color.new(30, 144, 255)
  self.contents.font.size = 12
  self.contents.font.shadow = Trophy::TEXT_SHADOW
  self.contents.draw_text(4, 1, width,WLH,"Você Adquiriu um troféu!", 1)
  self.contents.font.color = normal_color
  self.contents.font.size = 12
  self.contents.draw_text(1, 15, width,WLH,@trophy_name, 1)
 end
 def finish
  self.contents.clear
  self.contents.dispose
  @preview.dispose
  @preview_back.dispose
 end
end
kako92
kako92

Mensagens : 30
Data de inscrição : 14/07/2010
Idade : 32
Localização : http://kako92scripts.blogspot.com/

http://kako92scripts.blogspot.com/

Ir para o topo Ir para baixo

[Resolvido][RGSS2]Duvida com tempo de windows Empty Re: [Resolvido][RGSS2]Duvida com tempo de windows

Mensagem por Falco Seg Ago 16, 2010 9:50 pm

Bom, isso é bem fácil...

Crie a janela normalmente, depois siga esses passos:

- Na def initialize, defina uma variável de instancia chamada tempo.
- Na def update, defina uma condição:
self.visible = false Se @tempo é igual a *Limite de tempo (Em frames)*

E pronto...
Isso é só um pouquinho de lógica... Bem simples..
Até!
Falco
Falco

Mensagens : 184
Data de inscrição : 14/07/2010

Ir para o topo Ir para baixo

[Resolvido][RGSS2]Duvida com tempo de windows Empty Re: [Resolvido][RGSS2]Duvida com tempo de windows

Mensagem por kako92 Seg Ago 16, 2010 11:36 pm

Vendo por esse angulo é simples mesmo.
Tentei fazer de varios modos, com repetições, fiz até um cronometro e não deu muito certo.
Mesmo com a sua explicação ainda ficou meio vago pra mim...
Vou tentar corrigir aqui, e mais uma vez, obrigado Falco. Very Happy
kako92
kako92

Mensagens : 30
Data de inscrição : 14/07/2010
Idade : 32
Localização : http://kako92scripts.blogspot.com/

http://kako92scripts.blogspot.com/

Ir para o topo Ir para baixo

[Resolvido][RGSS2]Duvida com tempo de windows Empty Re: [Resolvido][RGSS2]Duvida com tempo de windows

Mensagem por Kyo Panda Ter Ago 17, 2010 9:44 am

É, o Falco explicou direitinho, só faltou umas coisinhas:
1°) No update, não esquece de colocar @tempo += 1, se não o tempo não prossegue.
2°) Eu percebi que você definiu a Scene_Trophy_Display filha da Window_Base, o certo não seria da Scene_Base? Very Happy
Kyo Panda
Kyo Panda

Mensagens : 83
Data de inscrição : 28/07/2010
Idade : 31

Ir para o topo Ir para baixo

[Resolvido][RGSS2]Duvida com tempo de windows Empty Re: [Resolvido][RGSS2]Duvida com tempo de windows

Mensagem por kako92 Ter Ago 17, 2010 11:22 am

Kyo Panda escreveu:É, o Falco explicou direitinho, só faltou umas coisinhas:
1°) No update, não esquece de colocar @tempo += 1, se não o tempo não prossegue.
2°) Eu percebi que você definiu a Scene_Trophy_Display filha da Window_Base, o certo não seria da Scene_Base? Very Happy

Eu ja tinha feito isso ontem, sobre o window_base foi agada na hora de postar...
Mas tem algo errado que não estou conseguindo corrigir.

Digamos que eu deseje chamar só uma window no Scene_Map, e então se eu apertar um botão qualquer, pode ser B ou C tanto faz, a janela saia da tela.

Vou tentar explicar mais uma vez todo o precesso.
Seguinte: Esta janela tem como função, indicar que um novo troféu foi obtido.
Logo, ela deve aparecer quando isso acontecer, via evento, e após um tempo sumir ou quando um botão for pressionado.

Eu corrigi uns erros no script aqui pra quem quiser analisar novamente:
Spoiler:

Edit:
Via evento eu consegui ajustar o tempo. Agora vou só retocar e transformar em script e estará tudo pronto.
kako92
kako92

Mensagens : 30
Data de inscrição : 14/07/2010
Idade : 32
Localização : http://kako92scripts.blogspot.com/

http://kako92scripts.blogspot.com/

Ir para o topo Ir para baixo

[Resolvido][RGSS2]Duvida com tempo de windows Empty Re: [Resolvido][RGSS2]Duvida com tempo de windows

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos