查看: 1921|回复: 2

[已经过期] 遇敵條修改

[复制链接]
梦石
0
星屑
354
在线时间
127 小时
注册时间
2016-10-8
回帖
54
发表于 2017-8-15 19:12:49 | 显示全部楼层 |阅读模式

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

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

×

想請教如何將遇敵條改成直條顯示而非橫條?

並且可自定義顯示層高度,意指勿總在所有視窗的上層,

一般對話窗還有喵大兩種修改捲動對話窗,都會被遇敵條遮掉...

遇敵條腳本[pre lang="ruby"]=begin
===============================================================================
  遇敌条 By喵呜喵5
===============================================================================

【说明】

  在地图上显示一个遇敌条

=end
$m5script ||= {};$m5script[:M5EW20150129] = 20150129
module M5EW20150129
#==============================================================================
# 设定部分
#==============================================================================

  X = 0

  Y = 0

  WIDTH = 125

  HEIGHT = 50

  # 设置遇敌条的X坐标、Y坐标、宽、高

  BACK = false

  # 设置为true时,遇敌条不显示窗口

  REVERSE = false

  # 设置为true时,遇敌条的显示方式变为随步数下降

  HIDE = true

  # 设置为true时,当开启禁用遇敌时隐藏遇敌条

  SWI = 0

  # 对应ID的开关打开时,隐藏遇敌条

#==============================================================================
# 设定结束
#==============================================================================
end
class Game_Player; attr_accessor :encounter_count; end
class Scene_Map
  alias m5_20150129_create_all_windows create_all_windows
  def create_all_windows
    m5_20150129_create_all_windows
    @m5_20150129_ew = Window_Base.new(M5EW20150129::X,M5EW20150129::Y,
      M5EW20150129::WIDTH,M5EW20150129::HEIGHT)
    @m5_20150129_ew.opacity = 0 if M5EW20150129::BACK
    class << @m5_20150129_ew
      include M5EW20150129
      def can_encounter?
        return false if $game_system.encounter_disabled
        $game_map.encounter_list.each do |encounter|
          next unless $game_player.encounter_ok?(encounter)
          return true
        end
        false
      end
      def update
        super
        self.visible = !$game_switches[SWI]
        self.visible = self.visible && can_encounter? if HIDE
        return unless self.visible
        rate = $game_player.encounter_count
        rate /= ($game_map.encounter_step * 2 + 1).to_f
        rate = 1.0 unless can_encounter?
        return if @rate && @rate == rate
        @rate = rate
        refresh
      end
      def refresh
        contents.clear
        draw_gauge(5, -5, contents.width - 10,
          REVERSE ? @rate : 1.0 - @rate, hp_gauge_color1, hp_gauge_color2)
      end
    end
  end
end[/pre]
(´_ゝ`)...仍未命名的遊戲製作進度:0%
梦石
0
星屑
19426
在线时间
3082 小时
注册时间
2013-1-11
回帖
1207
发表于 2017-8-15 19:33:27 | 显示全部楼层
[pre lang="ruby"]  def draw_shu(x, y, width, rate, color1, color2)
    fill_w = (width * rate).to_i
    gauge_y = y + line_height - 8
    contents.fill_rect(x, gauge_y, 6, width, gauge_back_color)
    contents.gradient_fill_rect(x, gauge_y, 6, fill_w, color1, color2)
end[/pre]
这段放到window_base里面,进度条脚本第79行draw_gauge改成draw_shu,第21、23行调整窗口WIDTH、HEIGHT即可
回复 1 0

使用道具 举报

梦石
0
星屑
354
在线时间
127 小时
注册时间
2016-10-8
回帖
54
 楼主| 发表于 2017-8-16 23:24:56 | 显示全部楼层
先感謝回答,不過變成這樣了...冏?

gauge是真的變直條了,但視窗沒有變 QAQ

未命名.png
(´_ゝ`)...仍未命名的遊戲製作進度:0%
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部