设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 1502|回复: 2
打印 上一主题 下一主题

[已经解决] 请问怎样让一个特定快捷键控制在地图上显示的变量呢?

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
128 小时
注册时间
2013-9-9
帖子
121
跳转到指定楼层
1
发表于 2014-3-5 08:02:53 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
本帖最后由 咸蛋超人赛斯 于 2014-3-5 12:13 编辑

我之前已经:
保存了在地图上显示变量的脚本。但是我相信那并不能让我自由控制那个窗口。
我现在的思路
按下某按键后,让变量窗口显示于地图上的某处。
这时候再按下同样的按键,将这个窗口隐藏。
再按的话就再显示。
简单来说就是以一个按钮控制这个窗口的开启和关闭。
————————————————————————————————————
请告诉我如何实现。
一直以来多谢各位前辈的不吝赐教啦!

_____________________________________________________________
  1. #==============================================================================
  2. # F10 - 变量窗口 - By芙蕾娅
  3. #------------------------------------------------------------------------------
  4. #  ★ - 新增  ☆ - 修改  ■ - 删除 ● - 无变更
  5. #==============================================================================
  6. module Freya
  7.   # 初始游戏时是否显示窗口
  8.   BeginShow = true
  9.   # 控制显示当前进度的变量ID
  10.   WindowVariableID = 1
  11.   # 进度最大值的变量ID
  12.   MaxWindowVariableID = 2
  13.   # 进度条颜色,数字和事件的文字颜色同理
  14.   VariableColor1 = 11
  15.   VariableColor2 = 3
  16.   # $game_system.variable_show = true
  17.   # 为显示进度窗口,要关闭则设把true设为false
  18. end
  19. #==============================================================================
  20. # ■ Game_System
  21. #------------------------------------------------------------------------------
  22. #  处理系统附属数据的类。保存存档和菜单的禁止状态之类的数据。
  23. #   本类的实例请参考 $game_system 。
  24. #==============================================================================
  25. class Game_System
  26.   #--------------------------------------------------------------------------
  27.   # ● 定义实例变量
  28.   #--------------------------------------------------------------------------
  29.   attr_accessor :variable_show_text            # 进度名称
  30.   attr_accessor :variable_show                 # 进度窗口是否显示
  31.   #--------------------------------------------------------------------------
  32.   # ● 初始化对象
  33.   #--------------------------------------------------------------------------
  34.   alias vw_initialize initialize
  35.   def initialize
  36.     vw_initialize
  37.     @variable_show_text = ""
  38.     @variable_show = Freya::BeginShow
  39.   end
  40. end
  41. #==============================================================================
  42. # ■ Window_Variable
  43. #------------------------------------------------------------------------------
  44. #  显示变量窗口
  45. #==============================================================================
  46. class Window_Variable < Window_Base
  47.   #--------------------------------------------------------------------------
  48.   # ● 初始化对象
  49.   #--------------------------------------------------------------------------
  50.   def initialize
  51.     super(0, 0, window_width, fitting_height(1))
  52.     unless $game_system.variable_show
  53.       self.opacity = 0
  54.       self.contents_opacity = 0
  55.     end
  56.     refresh
  57.   end
  58.   #--------------------------------------------------------------------------
  59.   # ● 获取窗口的宽度
  60.   #--------------------------------------------------------------------------
  61.   def window_width
  62.     return 160
  63.   end
  64.   #--------------------------------------------------------------------------
  65.   # ● 更新画面
  66.   #--------------------------------------------------------------------------
  67.   def update
  68.     super
  69.     if $game_system.variable_show
  70.       self.opacity = 255
  71.       self.contents_opacity = 255
  72.     else
  73.       self.opacity = 0
  74.       self.contents_opacity = 0
  75.     end
  76.     refresh
  77.   end
  78.   #--------------------------------------------------------------------------
  79.   # ● 刷新
  80.   #--------------------------------------------------------------------------
  81.   def refresh
  82.     contents.clear
  83.     color1 = text_color(Freya::VariableColor1)
  84.     color2 = text_color(Freya::VariableColor2)
  85.     if $game_variables[Freya::MaxWindowVariableID] != 0
  86.       rate = $game_variables[Freya::WindowVariableID].to_f / $game_variables[Freya::MaxWindowVariableID]
  87.       draw_gauge(0, 0, contents.width, rate, color1, color2)
  88.       text = "#{$game_variables[Freya::WindowVariableID]}/#{$game_variables[Freya::MaxWindowVariableID]}"
  89.       draw_text(contents.rect, text, 2)
  90.     else
  91.       draw_text(contents.rect, $game_variables[Freya::WindowVariableID], 2)      
  92.     end
  93.     contents.font.size = 15
  94.     draw_text(contents.rect, $game_system.variable_show_text)
  95.     contents.font.size = Font.default_size
  96.   end
  97. end

  98. #==============================================================================
  99. # ■ Scene_Menu
  100. #------------------------------------------------------------------------------
  101. #  菜单画面
  102. #==============================================================================
  103. class Scene_Menu < Scene_MenuBase
  104.   #--------------------------------------------------------------------------
  105.   # ● 生成金钱窗口
  106.   #--------------------------------------------------------------------------
  107.   alias create_variable_window create_gold_window
  108.   def create_gold_window
  109.     create_variable_window
  110.     @variable_window = Window_Variable.new
  111.     @variable_window.y = @command_window.y + @command_window.height
  112.   end
  113. end


  114. #==============================================================================
  115. # ■ Scene_Map
  116. #------------------------------------------------------------------------------
  117. #  地图画面
  118. #==============================================================================
  119. class Scene_Map < Scene_Base
  120.   #--------------------------------------------------------------------------
  121.   # ● 生成所有窗口
  122.   #--------------------------------------------------------------------------
  123.   alias vw_create_all_windows create_all_windows
  124.   def create_all_windows
  125.     vw_create_all_windows
  126.     @variable_window = Window_Variable.new
  127.     @variable_window.y = Graphics.height - @variable_window.height
  128.   end
  129. end
复制代码
↑这是我用的那个脚本的原始版,因为我还没往游戏里添加呢~↑
————————————————————————————————————————

评分

参与人数 1星屑 +35 收起 理由
︶ㄣ牛排ぶ + 35 手动认可奖励

查看全部评分

头像被屏蔽

Lv2.观梦者 (禁止发言)

梦石
0
星屑
653
在线时间
3774 小时
注册时间
2011-2-26
帖子
1839

开拓者

2
发表于 2014-3-5 08:26:20 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-9-22 04:31

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表