¡Bienvenido a Universo Maker!
¿Es esta la primera vez que visitas el foro? Si es así te recomendamos que te registres para tener completo acceso a todas las áreas y secciones del foro, así también podrás participar activamente en la comunidad. Si ya tienes una cuenta, conectate cuanto antes.
Iniciar Sesión Registrarme

No estás conectado. Conéctate o registrate

Ver el tema anterior Ver el tema siguiente Ir abajo Mensaje [Página 1 de 1.]

#1 [XP] Pausar el juego el Sáb Feb 22, 2014 11:12 pm

~Night Shade

avatar
Autor: RPG Maker brasil (el foro)

Introducción:

Un simple script que pausa el juego con la tecla por defecto A del teclado.

Imágenes:



Script:

Código:
#????????????????????????????????????????
#?
#? TRCS.19
#? "?????" ver1.40 (2006.03.12 h22)
#? by NO
#? http://chobi.net/~no/
#?
#????????????????????????????????????????
# BGM?????????
module TRCS19_STOPPING
#--------------------------------------------------------------------------
# ? ????
#--------------------------------------------------------------------------
 
# ?????? (?????)
PAUSE_BUTTON = "X"
 
# ???????
PAUSE_TEXT = "Pause"
 
# ??????????
# ? [R, G, B, alpha] ???
PAUSE_TEXT_COLOR = [255, 255, 255, 255]
 
# ??? ??SE
PAUSE_START_SE = "002-System02"
 
# ??? ??SE
PAUSE_END_SE = "003-System03"
 
# ????????
# ? [R, G, B, alpha] ??? (??????????)
PAUSE_TONE = [-64, -64, -64, 0]
 
# ????????????????
# ? YES = true, NO = false
STOP_TIME = false #allow/disallow freezing play time during pause
 
# ??????????(%??)
VOL_DOWN_RATE = 50
 
# ??????????
# ? ????ID??????????
PAUSE_SW_NAME = "?????" #Set a switch name to allow/disallow pause
 
# ????????
PAUSE_BUTTON2 = eval("Input::#{PAUSE_BUTTON}")
 
#--------------------------------------------------------------------------
# ? ????
#--------------------------------------------------------------------------
def stopping
# SE ???
Audio.se_play("Audio/SE/" + PAUSE_START_SE) if !PAUSE_START_SE.empty?
# BGM???????
if $game_system.playing_bgm != nil and !$game_system.playing_bgm.name.empty?
# ???BGM??????
dummy_vol = $game_system.playing_bgm.volume
# ????????
new_vol = (dummy_vol * VOL_DOWN_RATE / 100).to_i
Audio.bgm_play("Audio/BGM/" + $game_system.playing_bgm.name, new_vol)
end
# ????????
dummy_tone = $game_screen.tone.clone
 
# ?????????
viewport1 = Viewport.new(0, 0, 640, 480)
viewport1.z = 10000
viewport1.tone = Tone.new(*PAUSE_TONE)
# ??????????????
sprite1 = Sprite.new(viewport1)
sprite1.tone = Tone.new(0, 0, 0, 0)
sprite1.bitmap = Bitmap.new(640, 480)
# ???????
width = sprite1.bitmap.text_size(PAUSE_TEXT).width
 
# ?????????
viewport2 = Viewport.new((640 - width) / 2, (480 - 32) / 2, width, 32)
viewport2.z = 10000
# ???????????
sprite2 = Sprite.new(viewport2)
sprite2.bitmap = Bitmap.new(width, 32)
 
# ????
sprite2.bitmap.font = Font.new
sprite2.bitmap.font.color = Color.new(*PAUSE_TEXT_COLOR)
sprite2.bitmap.draw_text(0, 0, width, 32, PAUSE_TEXT)
# ??????
loop do
# ????????
Graphics.update
# ???????
Input.update
# ??????????
if Input.trigger?(PAUSE_BUTTON2)
# SE ???
Audio.se_play("Audio/SE/" + PAUSE_START_SE) if !PAUSE_START_SE.empty?
# BGM???????
if $game_system.playing_bgm != nil and !$game_system.playing_bgm.name.empty?
# ????????
Audio.bgm_play("Audio/BGM/" + $game_system.playing_bgm.name, dummy_vol)
end
# ?????
break
end
end
 
# ???????
sprite1.viewport.tone = dummy_tone
# ??
sprite1.dispose
sprite2.dispose
sprite1 = nil
sprite2 = nil
end
#--------------------------------------------------------------------------
# ? ????????
#--------------------------------------------------------------------------
def can_stop?
if PAUSE_SW_NAME.is_a?(Numeric)
return ($game_switches[PAUSE_SW_NAME] rescue true)
else
return ($game_switches[$data_system.switches.index(PAUSE_SW_NAME)] rescue true)
end
end
end
#================================================= =============================
# ? Scene_Map
#================================================= =============================
 
class Scene_Map
#--------------------------------------------------------------------------
# ? ??????
#--------------------------------------------------------------------------
include TRCS19_STOPPING
#--------------------------------------------------------------------------
# ? ??????
#--------------------------------------------------------------------------
alias trcs19_update update
def update
# ??????????
if Input.trigger?(PAUSE_BUTTON2) and can_stop?
# ???????????
tmp = Graphics.frame_count
# ????
stopping
# ?????????????????
if STOP_TIME
# ???????????
Graphics.frame_count = tmp
end
end
# ????
trcs19_update
end
end
#================================================= =============================
# ? Scene_Battle
#================================================= =============================
 
class Scene_Battle
#--------------------------------------------------------------------------
# ? ??????
#--------------------------------------------------------------------------
include TRCS19_STOPPING
#--------------------------------------------------------------------------
# ? ??????
#--------------------------------------------------------------------------
alias trcs19_update update
def update
# ??????????
if Input.trigger?(PAUSE_BUTTON2) and can_stop?
# ???????????
tmp = Graphics.frame_count
# ????
stopping
# ?????????????????
if STOP_TIME
# ???????????
Graphics.frame_count = tmp
end
end
# ????
trcs19_update
end
end

Un saludo U.Maker!

#2 Re: [XP] Pausar el juego el Dom Feb 23, 2014 12:29 am

Aarl

avatar
¡Buen aporte! Es buen script para action RPGs o cualquier clase de juego que necesite indudablemente una pausa. :'D

¡+2 Makedas!

Por cierto... ya sé que es un mapa de prueba el de esa imagen, pero ¿puertas en la cueva? ¿Wtf? xD
Saludos~

#3 Re: [XP] Pausar el juego el Dom Feb 23, 2014 12:46 am

~Night Shade

avatar
Aarl escribió:¡Buen aporte! Es buen script para action RPGs o cualquier clase de juego que necesite indudablemente una pausa. :'D

¡+2 Makedas!

Por cierto... ya sé que es un mapa de prueba el de esa imagen, pero ¿puertas en la cueva? ¿Wtf? xD
Saludos~

Le estaba enseñando como mejorar un mapa a un amigo de emudesc xDD el mapa original era este: http://i.imgur.com/wxn4kOB.png

Entonces hice uno idéntico para aconsejarlo y como es el proyecto en donde pruebo los scripts que hago o los que encuentro por ahi quedo como escena de prueba xD.

Contenido patrocinado


Ver el tema anterior Ver el tema siguiente Volver arriba  Mensaje [Página 1 de 1.]

Permisos de este foro:
No puedes responder a temas en este foro.