Shepher Admin
Número de Mensagens : 87 Idade : 28
| Assunto: [RGSS2]Efeito "ScreenSaver" ao ficar inativo Qui Jun 03, 2010 7:38 pm | |
| Efeito "ScreenSaver" ao ficar inativo
por Punk IntroduçãoBom, estava atoa e resolvi procurar uns scripts em inglês pra traduzir pra mim, já que vi que meu primeiro teve uma repercussão resolvi passar ele para o fórum, mas só peço que comentem, para que eu possa ver que está valendo apena. Este script cria um efeito "screensaver" ao ficar inativo por um certo tempo (customizável) Características
- O efeito "Screensaver" afeta tuda a "Scene_Base."
- O tempo para ativar o efeito é customizável.
- Você pode dar um tom especial para o efeito. (Ex: fazer um overlay bege dando um efeito "old", ou só escurecer a tela)
- Scripters podem criar add-ons facilmente.
Como instalar e usarCopie o seguinte código e cole abaixo de "Scripts Adicionais". - Spoiler:
- Código:
-
=begin ╔══════════════════════════════════════════════════════════════════════════════╗ ║ Punk's Screensaver Effect ║ ║ Versão 1.0 ║ ║ Tradução: Masterfgf ║ ║ Started: November 14th, 2008 ║ ║ Finished: November 15th, 2008 ║ ╟──────────────────────────────────────────────────────────────────────────────╢ ╟──────────────────────────────────────────────────────────────────────────────╢ ║ ■ Notas do Autor: ║ ║ └─ Depois de fazer vários sistemas por evento, eu tive uma idéia, fazer um ║ ║ efeito "screensaver". Obcecado pela idéia e como não tinha ninguém que ║ ║ fizesse pra mim, eu decidi tentar. ║ ╟──────────────────────────────────────────────────────────────────────────────╢ ║ ■ Descrição: ║ ║ └─ Caso você fique inativo do jogo por um certo período de tempo, a tela vai ║ ║ automaticamente escurecer um pouco. (A proteção-de-tela que eu vi em um ║ ║ video game era mais ou menos assim.) ║ ╟──────────────────────────────────────────────────────────────────────────────╢ ║ ■ Características: ║ ║ ├─ O efeito "Screensaver" afeta tuda a "Scene_Base." ║ ║ ├─ O tempo para ativar o efeito é customizável. ║ ║ ├─ Você pode dar um tom especial para o efeito. (Desaturar? Clarear?) ║ ║ └─ Scripters podem criar add-ons facilmente. ║ ╟──────────────────────────────────────────────────────────────────────────────╢ ║ ■ Observações de Customização: ║ ║ ├─ PK_SCREENSAVER_SEC: Especifique o tempo que levará para o efeito ativar. ║ ║ ├─ PK_SCREENSAVER_BGCR: Representa o "Vemelho" no RGB. (de -255 à 255) ║ ║ ├─ PK_SCREENSAVER_BGCG: Representa o "Verde" no RGB. (de -255 à 255) ║ ║ ├─ PK_SCREENSAVER_BGCB: Representa o "Azul" no RGB. (de -255 à 255) ║ ║ ├─ PK_SCREENSAVER_BGCS: Ajusta a saturação. (de 0 à 255) ║ ║ ├─ PK_SCREENSAVER_STOPTIME: Pausar o jogo? Sim(true) ou não(false)? ║ ╚══════════════════════════════════════════════════════════════════════════════╝ =end
PK_SCREENSAVER_SEC = 120 #60 segundos = 1 minuto. PK_SCREENSAVER_BGCR = -50 PK_SCREENSAVER_BGCG = -50 PK_SCREENSAVER_BGCB = -50 PK_SCREENSAVER_BGCS = 255 PK_SCREENSAVER_STOPTIME = true
module PK_Screensaver def pk_screensaver_main pk_screensaver_start pk_screensaver_hooks loop do Graphics.update Input.update pk_screensaver_hooks_update #Botões if Input.trigger?(Input::R) or Input.trigger?(Input::L) break end if Input.trigger?(Input::A) or Input.trigger?(Input::B) break end if Input.trigger?(Input::C) or Input.trigger?(Input::X) break end if Input.trigger?(Input::Y) or Input.trigger?(Input::Z) break end if Input.trigger?(Input::UP) or Input.trigger?(Input::DOWN) break end if Input.trigger?(Input::LEFT) or Input.trigger?(Input::RIGHT) break end if Input.trigger?(Input::ALT) or Input.trigger?(Input::CTRL) break end if Input.trigger?(Input::SHIFT) or Input.trigger?(Input::F5) break end if Input.trigger?(Input::F6) or Input.trigger?(Input::F7) break end if Input.trigger?(Input::F8) or Input.trigger?(Input::F9) break end #Botões End end pk_screensaver_dispose pk_screensaver_hooks_dispose end def pk_screensaver_hooks end
def pk_screensaver_hooks_update end def pk_screensaver_hooks_dispose end def pk_screensaver_start @pk_screensaver_bgc = Viewport.new(0, 0, Graphics.width, Graphics.height) @pk_screensaver_bgc.tone = Tone.new(PK_SCREENSAVER_BGCR, PK_SCREENSAVER_BGCG, PK_SCREENSAVER_BGCB, PK_SCREENSAVER_BGCS) @pk_screensaver_bgc.z = 12000 if PK_SCREENSAVER_STOPTIME == true @pk_screensaver_playtimetemp = Graphics.frame_count end end def pk_screensaver_dispose if PK_SCREENSAVER_STOPTIME == true Graphics.frame_count = @pk_screensaver_playtimetemp end @pk_screensaver_time = -1 @pk_screensaver_bgc.dispose end end
class Scene_Base include PK_Screensaver alias pk_screensaver_gameinitialize :start def start pk_screensaver_gameinitialize @pk_screensaver_time = 0 @pk_screensaver_time2 = PK_SCREENSAVER_SEC*60 end alias pk_screensaver_gameupdate :update def update pk_screensaver_gameupdate #Botões if Input.press?(Input::R) or Input.press?(Input::L) or Input.press?(Input::A) @pk_screensaver_time = 0 end if Input.press?(Input::B) or Input.press?(Input::C) or Input.press?(Input::X) @pk_screensaver_time = 0 end if Input.press?(Input::Y) or Input.press?(Input::Z) or Input.press?(Input::F5) @pk_screensaver_time = 0 end if Input.press?(Input::F6) or Input.press?(Input::F7) or Input.press?(Input::F8) @pk_screensaver_time = 0 end if Input.press?(Input::F9) or Input.press?(Input::CTRL) or Input.press?(Input::ALT) @pk_screensaver_time = 0 end if Input.press?(Input::SHIFT) or Input.press?(Input::UP) or Input.press?(Input::DOWN) @pk_screensaver_time = 0 end if Input.press?(Input::LEFT) or Input.press?(Input::RIGHT) @pk_screensaver_time = 0 end #Botões End @pk_screensaver_time += 1 if @pk_screensaver_time >= @pk_screensaver_time2 pk_screensaver_main end end end
Para customizar o script é só seguir as instruções pelo script. Screenshots e Demo- Spoiler:
Demo: SSE_ByMasterfgf.zipCréditos e Agradecimentos | |
|