查看: 3229|回复: 6

[已经过期] 如何在指定位置显示指定的数据

[复制链接]
梦石
0
星屑
140
在线时间
13 小时
注册时间
2019-8-16
回帖
6
发表于 2019-9-23 18:08:22 | 显示全部楼层 |阅读模式

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

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

×
例如我想在不按esc的情况下 在画面的右上方显示金币的数量经验值一类的
梦石
10
星屑
39550
在线时间
1919 小时
注册时间
2010-11-14
回帖
3214

R考场第七期纪念奖

发表于 2019-9-28 14:54:39 | 显示全部楼层
本帖最后由 KB.Driver 于 2019-9-28 14:55 编辑

77.gif

[pre lang="ruby"]#encoding:utf-8
module CLD99
  module GOLD_AND_EXP_WINDOW_ON_MAP
    class << self
      attr_accessor :need_refresh
    end
    GOLD_WINDOW_WIDTH = 240
    EXP_WINDOW_WIDTH  = 240
  end
end
  
class Scene_Map < Scene_Base
  #--------------------------------------------------------------------------
  # ● 生成所有窗口
  #--------------------------------------------------------------------------
  alias create_all_windows_for_gold_and_exp_window create_all_windows
  def create_all_windows
    create_all_windows_for_gold_and_exp_window
    create_gold_window
    create_exp_window
  end

  def create_gold_window
    @gold_window = (Class.new(Window_Gold) do
      def window_width
        CLD99::GOLD_AND_EXP_WINDOW_ON_MAP::GOLD_WINDOW_WIDTH
      end
    end).new
    @gold_window.x = Graphics.width - @gold_window.width
  end
  
  def create_exp_window
    w = CLD99::GOLD_AND_EXP_WINDOW_ON_MAP::EXP_WINDOW_WIDTH
    h = $game_party.battle_members.size * 33 + 24
    x = Graphics.width - w
    y = @gold_window.height
    @exp_window = Window_Base.new(x, y, w, h)
    $game_party.battle_members.each_with_index do |actor, i|
      x, y = 12, 12 + i * 33
      name, index = actor.character_name, actor.character_index
      @exp_window.draw_character(name, index, x, y + 20)
      text = "Exp. #{actor.exp}/#{actor.next_level_exp}"
      @exp_window.draw_text(x + 20, y - 8, w - 24, 24, text)
    end
  end
  #--------------------------------------------------------------------------
  # ● 更新画面
  #--------------------------------------------------------------------------
  alias update_for_gold_and_exp_window update
  def update
    if CLD99::GOLD_AND_EXP_WINDOW_ON_MAP.need_refresh || $game_map.need_refresh
      @gold_window.refresh
      @exp_window.dispose
      create_exp_window
      CLD99::GOLD_AND_EXP_WINDOW_ON_MAP.need_refresh = false
    end
    update_for_gold_and_exp_window
  end
end

class Game_Interpreter
  #--------------------------------------------------------------------------
  # ● 增减经验值
  #--------------------------------------------------------------------------
  alias command_315_for_gold_and_exp_window command_315
  def command_315
    command_315_for_gold_and_exp_window
    CLD99::GOLD_AND_EXP_WINDOW_ON_MAP.need_refresh = true
  end
  #--------------------------------------------------------------------------
  # ● 增减持有金钱
  #--------------------------------------------------------------------------
  alias command_125_for_gold_and_exp_window command_125
  def command_125
    command_125_for_gold_and_exp_window
    CLD99::GOLD_AND_EXP_WINDOW_ON_MAP.need_refresh = true
  end
end[/pre]

评分

参与人数 1星屑 +50 收起 理由
VIPArcher + 50 我很赞同

查看全部评分

用头画头像,用脚写脚本
回复

使用道具 举报

梦石
0
星屑
140
在线时间
13 小时
注册时间
2019-8-16
回帖
6
 楼主| 发表于 2019-9-30 01:38:06 | 显示全部楼层
KB.Driver 发表于 2019-9-28 14:54
#encoding:utf-8
module CLD99
  module GOLD_AND_EXP_WINDOW_ON_MAP

为什么一但切换地图就会出现
脚本“scene_Map"第211行发生nomethodError.
uddefined method 'close' for nil:NilClass

点评

没有,在新档测试了两次也这样  发表于 2019-9-30 13:22
我在新建工程测试的时候没有这个问题,你有使用其他脚本吗?  发表于 2019-9-30 09:23
回复

使用道具 举报

梦石
0
星屑
140
在线时间
13 小时
注册时间
2019-8-16
回帖
6
 楼主| 发表于 2019-9-30 13:13:03 | 显示全部楼层
singlewalker 发表于 2019-9-30 01:38
为什么一但切换地图就会出现
脚本“scene_Map"第211行发生nomethodError.
uddefined method 'close' for  ...

没有,在新档测试了两次也这样
回复

使用道具 举报

梦石
0
星屑
140
在线时间
13 小时
注册时间
2019-8-16
回帖
6
 楼主| 发表于 2019-9-30 13:20:43 | 显示全部楼层
顺便一问,能否做到只在地图AB中执行该脚本而不再C地图中执行呢?????
回复

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部