Project1
标题:
请问怎样让一个特定快捷键控制在地图上显示的变量呢?
[打印本页]
作者:
咸蛋超人赛斯
时间:
2014-3-5 08:02
标题:
请问怎样让一个特定快捷键控制在地图上显示的变量呢?
本帖最后由 咸蛋超人赛斯 于 2014-3-5 12:13 编辑
我之前已经:
保存了在地图上显示变量的脚本。但是我相信那并不能让我自由控制那个窗口。
我现在的思路
按下某按键后,让变量窗口显示于地图上的某处。
这时候再按下同样的按键,将这个窗口隐藏。
再按的话就再显示。
简单来说就是以一个按钮控制这个窗口的开启和关闭。
————————————————————————————————————
请告诉我如何实现。
一直以来多谢各位前辈的不吝赐教啦!
_____________________________________________________________
#==============================================================================
# F10 - 变量窗口 - By芙蕾娅
#------------------------------------------------------------------------------
# ★ - 新增 ☆ - 修改 ■ - 删除 ● - 无变更
#==============================================================================
module Freya
# 初始游戏时是否显示窗口
BeginShow = true
# 控制显示当前进度的变量ID
WindowVariableID = 1
# 进度最大值的变量ID
MaxWindowVariableID = 2
# 进度条颜色,数字和事件的文字颜色同理
VariableColor1 = 11
VariableColor2 = 3
# $game_system.variable_show = true
# 为显示进度窗口,要关闭则设把true设为false
end
#==============================================================================
# ■ Game_System
#------------------------------------------------------------------------------
# 处理系统附属数据的类。保存存档和菜单的禁止状态之类的数据。
# 本类的实例请参考 $game_system 。
#==============================================================================
class Game_System
#--------------------------------------------------------------------------
# ● 定义实例变量
#--------------------------------------------------------------------------
attr_accessor :variable_show_text # 进度名称
attr_accessor :variable_show # 进度窗口是否显示
#--------------------------------------------------------------------------
# ● 初始化对象
#--------------------------------------------------------------------------
alias vw_initialize initialize
def initialize
vw_initialize
@variable_show_text = ""
@variable_show = Freya::BeginShow
end
end
#==============================================================================
# ■ Window_Variable
#------------------------------------------------------------------------------
# 显示变量窗口
#==============================================================================
class Window_Variable < Window_Base
#--------------------------------------------------------------------------
# ● 初始化对象
#--------------------------------------------------------------------------
def initialize
super(0, 0, window_width, fitting_height(1))
unless $game_system.variable_show
self.opacity = 0
self.contents_opacity = 0
end
refresh
end
#--------------------------------------------------------------------------
# ● 获取窗口的宽度
#--------------------------------------------------------------------------
def window_width
return 160
end
#--------------------------------------------------------------------------
# ● 更新画面
#--------------------------------------------------------------------------
def update
super
if $game_system.variable_show
self.opacity = 255
self.contents_opacity = 255
else
self.opacity = 0
self.contents_opacity = 0
end
refresh
end
#--------------------------------------------------------------------------
# ● 刷新
#--------------------------------------------------------------------------
def refresh
contents.clear
color1 = text_color(Freya::VariableColor1)
color2 = text_color(Freya::VariableColor2)
if $game_variables[Freya::MaxWindowVariableID] != 0
rate = $game_variables[Freya::WindowVariableID].to_f / $game_variables[Freya::MaxWindowVariableID]
draw_gauge(0, 0, contents.width, rate, color1, color2)
text = "#{$game_variables[Freya::WindowVariableID]}/#{$game_variables[Freya::MaxWindowVariableID]}"
draw_text(contents.rect, text, 2)
else
draw_text(contents.rect, $game_variables[Freya::WindowVariableID], 2)
end
contents.font.size = 15
draw_text(contents.rect, $game_system.variable_show_text)
contents.font.size = Font.default_size
end
end
#==============================================================================
# ■ Scene_Menu
#------------------------------------------------------------------------------
# 菜单画面
#==============================================================================
class Scene_Menu < Scene_MenuBase
#--------------------------------------------------------------------------
# ● 生成金钱窗口
#--------------------------------------------------------------------------
alias create_variable_window create_gold_window
def create_gold_window
create_variable_window
@variable_window = Window_Variable.new
@variable_window.y = @command_window.y + @command_window.height
end
end
#==============================================================================
# ■ Scene_Map
#------------------------------------------------------------------------------
# 地图画面
#==============================================================================
class Scene_Map < Scene_Base
#--------------------------------------------------------------------------
# ● 生成所有窗口
#--------------------------------------------------------------------------
alias vw_create_all_windows create_all_windows
def create_all_windows
vw_create_all_windows
@variable_window = Window_Variable.new
@variable_window.y = Graphics.height - @variable_window.height
end
end
复制代码
↑这是我用的那个脚本的原始版,因为我还没往游戏里添加呢~↑
————————————————————————————————————————
作者:
晴兰
时间:
2014-3-5 08:26
提示:
作者被禁止或删除 内容自动屏蔽
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1