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



 
InícioPortalÚltimas imagensProcurarRegistarEntrar

 

 Pausa no jogo

Ir para baixo 
AutorMensagem
Sefirot22
Membro
Membro
Sefirot22


Mensagens : 35
Data de inscrição : 08/02/2008

Pausa no jogo Empty
MensagemAssunto: Pausa no jogo   Pausa no jogo Icon_minitimeSex Fev 08, 2008 3:52 pm

Esse não é um script muito importante ams ajuda quem quer.

Citação :
#┌───────────────────────────────────────
#│
#│ 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

pra pausa aperte a ou x
Ir para o topo Ir para baixo
 
Pausa no jogo
Ir para o topo 
Página 1 de 1
 Tópicos semelhantes
-
» CComo colocar seu jogo online?

Permissões neste sub-fórumNão podes responder a tópicos
 :: RPG Maker XP :: Scripts RGSS-
Ir para: