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

Project1

 找回密码
 注册会员
搜索
123
返回列表 发新帖
楼主: S·MAX
打印 上一主题 下一主题

[已经解决] 关于放上血条脚本后的问题

 关闭 [复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
5 小时
注册时间
2009-11-21
帖子
101
21
 楼主| 发表于 2009-12-13 10:57:38 | 只看该作者
+ +...自顶
回复 支持 反对

使用道具 举报

Lv1.梦旅人

神之瞳

梦石
0
星屑
60
在线时间
5 小时
注册时间
2009-7-5
帖子
314
22
发表于 2009-12-13 14:22:01 | 只看该作者
我有兴趣回答lz的问题……
  1. # ————————————————————————————————————
  2. # 本脚本来自www.66rpg.com,转载请保留此信息
  3. # ————————————————————————————————————

  4. # ▼▲▼ XRXS_BP 7. バトルステータス?クリアデザイン ver.1.03 ▼▲▼
  5. # by 桜雅 在土

  6. #==============================================================================
  7. # ■ Window_BattleStatus
  8. #==============================================================================
  9. class Window_BattleStatus < Window_Base
  10.   #--------------------------------------------------------------------------
  11.   # ● 公開インスタンス変数
  12.   #--------------------------------------------------------------------------
  13.   attr_accessor :update_cp_only # CPメーターのみの更新
  14.   #--------------------------------------------------------------------------
  15.   # ● オブジェクト初期化
  16.   #--------------------------------------------------------------------------
  17.   alias xrxs_bp7_initialize initialize
  18.   def initialize
  19.     # 初期化
  20.     @previous_hp = []
  21.     @previous_sp = []
  22.     # 呼び戻す
  23.     xrxs_bp7_initialize
  24.     # ↓Full-Viewの場合は下二行の # を消してください。
  25.     self.opacity = 160
  26.     self.back_opacity = 160  
  27. =begin
  28.    @hp = []
  29.    for j in 0...$game_party.actors.size
  30.      @hp[j] = $game_party.actors[j].hp
  31.    end
  32.    @refresh_flag = true
  33.    refresh
  34. =end
  35.      def refresh
  36.     self.contents.clear
  37.     @item_max = $game_party.actors.size
  38.     for i in 0...$game_party.actors.size
  39.       actor = $game_party.actors[i]
  40.       actor_x = i * 160 + 4
  41.       draw_actor_name(actor, actor_x, 0)
  42.       draw_actor_hp(actor, actor_x, 32, 120)
  43.       draw_actor_sp(actor, actor_x, 64, 120)
  44.       if @level_up_flags[i]
  45.         self.contents.font.color = normal_color
  46.         self.contents.draw_text(actor_x, 96, 120, 32, "LEVEL UP!")
  47.       else
  48.         draw_actor_state(actor, actor_x, 96)
  49.       end
  50.     end
  51.   end
  52.    
  53.    
  54.   end
  55. #★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
  56.   def draw_battler_graphic(actor, x, y)
  57.     battler=RPG::Cache.battler(actor.battler_name, actor.battler_hue)
  58.     w = battler.width
  59.     h = battler.height
  60.     self.contents.blt(x-w/2, y-h, battler, Rect.new(0, 0, w,h),255)
  61.     self.z = 20
  62.   end
  63. #★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★

  64.   #--------------------------------------------------------------------------
  65.   # ● リフレッシュ
  66.   #--------------------------------------------------------------------------
  67.   alias xrxs_bp7_refresh refresh
  68.   def refresh
  69.     # CPメーターの更新のみ の場合
  70.     if @update_cp_only
  71.       xrxs_bp7_refresh
  72.       return
  73.     end
  74.     # 変更するものがない場合、飛ばす
  75.     @item_max = $game_party.actors.size
  76.     bool = false
  77.     for i in 0...@item_max
  78.       actor = $game_party.actors[i]
  79.       if (@previous_hp[i] != actor.hp) or (@previous_sp[i] != actor.sp)
  80.         bool = true
  81.       end
  82.     end
  83.     return if bool == false
  84.     # 描写を開始
  85.     self.contents.clear
  86.     for i in 0...@item_max
  87.       actor = $game_party.actors[i]
  88.       actor_x = i * 160 + 21
  89.       # 歩行キャラグラフィックの描写
  90.       draw_battler_graphic(actor, actor_x + 43, 80)
  91.       # HP/SPメーターの描写
  92.       
  93.       
  94.       draw_actor_hp_meter_line(actor, actor_x - 17, 82, 120, 10)
  95.       
  96.       
  97.       draw_actor_sp_meter_line(actor, actor_x - 17, 98, 120, 10)
  98.       # HP数値の描写
  99.       self.contents.font.size = 18 # HP/SP数値の文字の大きさ
  100.       self.contents.font.color = Color.new(0,0,0,192)
  101.       self.contents.draw_text(actor_x, 72, 96, 24, actor.hp.to_s, 2)
  102.       self.contents.font.color = actor.hp == 0 ? knockout_color :
  103.       actor.hp <= actor.maxhp / 4 ? crisis_color : normal_color
  104.       self.contents.draw_text(actor_x-2, 70, 96, 24, actor.hp.to_s, 2)
  105.       # SP数値の描写
  106.       self.contents.font.color = Color.new(0,0,0,192)
  107.       self.contents.draw_text(actor_x, 88, 96, 24, actor.sp.to_s, 2)
  108.       self.contents.font.color = actor.sp == 0 ? knockout_color :
  109.       actor.sp <= actor.maxsp / 4 ? crisis_color : normal_color
  110.       self.contents.draw_text(actor_x-2, 86, 96, 24, actor.sp.to_s, 2)
  111.       # 用語「HP」と用語「SP」の描写
  112.       self.contents.font.size = 18 # 用語「HP/SP」の文字の大きさ
  113.       self.contents.font.color = Color.new(0,0,0,192)
  114.       self.contents.draw_text(actor_x - 7, 74, 196, 24, $data_system.words.hp)
  115.       self.contents.draw_text(actor_x - 7, 90, 196, 24, $data_system.words.sp)
  116.       self.contents.font.color = system_color # 用語「HP/SP」の文字の色
  117.       self.contents.draw_text(actor_x - 7, 72, 196, 24, $data_system.words.hp)
  118.       self.contents.draw_text(actor_x - 7, 88, 196, 24, $data_system.words.sp)
  119.       # ステートの描写
  120.       draw_actor_state(actor, actor_x-20, 103) #X- 55
  121.       # 描画角色姓名
  122.       #draw_actor_name(actor, actor_x-17, 103)
  123.       # 値を更新
  124.       @previous_hp[i] = actor.hp
  125.       @previous_sp[i] = actor.sp
  126.     end
  127.   end
  128. end
  129. #==============================================================================
  130. # ■ Window_Base
  131. #==============================================================================
  132. class Window_Base < Window
  133.   #--------------------------------------------------------------------------
  134.   # ● HPメーター の描画
  135.   #--------------------------------------------------------------------------
  136.   def draw_actor_hp_meter_line(actor, x, y, width = 156, height = 4)
  137.     w = width * actor.hp / actor.maxhp
  138.     hp_color_1 = Color.new(255, 0, 0, 192)
  139.     hp_color_2 = Color.new(255, 255, 0, 192)
  140.     self.contents.fill_rect(x+8, y+4, width, (height/4).floor, Color.new(0, 0, 0, 128))
  141.     draw_line(x, y, x + w, y, hp_color_1, (height/4).floor, hp_color_2)
  142.     x -= 1
  143.     y += (height/4).floor
  144.     self.contents.fill_rect(x+8, y+4, width, (height/4).ceil , Color.new(0, 0, 0, 128))
  145.     draw_line(x, y, x + w, y, hp_color_1, (height/4).ceil , hp_color_2)
  146.     x -= 1
  147.     y += (height/4).ceil
  148.     self.contents.fill_rect(x+8, y+4, width, (height/4).ceil , Color.new(0, 0, 0, 128))
  149.     draw_line(x, y, x + w, y, hp_color_1, (height/4).ceil , hp_color_2)
  150.     x -= 1
  151.     y += (height/4).ceil
  152.     self.contents.fill_rect(x+8, y+4, width, (height/4).floor, Color.new(0, 0, 0, 128))
  153.     draw_line(x, y, x + w, y, hp_color_1, (height/4).floor, hp_color_2)
  154.   end
  155.   #--------------------------------------------------------------------------
  156.   # ● SPメーター の描画
  157.   #--------------------------------------------------------------------------
  158.   def draw_actor_sp_meter_line(actor, x, y, width = 156, height = 4)
  159.     w = width * actor.sp / actor.maxsp
  160.     hp_color_1 = Color.new( 0, 0, 255, 192)
  161.     hp_color_2 = Color.new( 0, 255, 255, 192)
  162.     self.contents.fill_rect(x+8, y+4, width, (height/4).floor, Color.new(0, 0, 0, 128))
  163.     draw_line(x, y, x + w, y, hp_color_1, (height/4).floor, hp_color_2)
  164.     x -= 1
  165.     y += (height/4).floor
  166.     self.contents.fill_rect(x+8, y+4, width, (height/4).ceil , Color.new(0, 0, 0, 128))
  167.     draw_line(x, y, x + w, y, hp_color_1, (height/4).ceil , hp_color_2)
  168.     x -= 1
  169.     y += (height/4).ceil
  170.     self.contents.fill_rect(x+8, y+4, width, (height/4).ceil , Color.new(0, 0, 0, 128))
  171.     draw_line(x, y, x + w, y, hp_color_1, (height/4).ceil , hp_color_2)
  172.     x -= 1
  173.     y += (height/4).ceil
  174.     self.contents.fill_rect(x+8, y+4, width, (height/4).floor, Color.new(0, 0, 0, 128))
  175.     draw_line(x, y, x + w, y, hp_color_1, (height/4).floor, hp_color_2)
  176.   end
  177.   #--------------------------------------------------------------------------
  178.   # ● 名前の描画
  179.   #--------------------------------------------------------------------------
  180.   alias xrxs_bp7_draw_actor_name draw_actor_name
  181.   def draw_actor_name(actor, x, y)
  182.     xrxs_bp7_draw_actor_name(actor, x, y) #if @draw_ban != true
  183.   end
  184.   #--------------------------------------------------------------------------
  185.   # ● ステートの描画
  186.   #--------------------------------------------------------------------------
  187.   #alias xrxs_bp7_draw_actor_state draw_actor_state
  188.   #def draw_actor_state(actor, x, y, width = 120)
  189.   #  xrxs_bp7_draw_actor_state(actor, x, y, width) if @draw_ban != true
  190.   #end
  191.   #--------------------------------------------------------------------------
  192.   # ● HP の描画
  193.   #--------------------------------------------------------------------------
  194.   alias xrxs_bp7_draw_actor_hp draw_actor_hp
  195.   def draw_actor_hp(actor, x, y, width = 144)
  196.     xrxs_bp7_draw_actor_hp(actor, x, y, width) if @draw_ban != true
  197.   end
  198.   #--------------------------------------------------------------------------
  199.   # ● SP の描画
  200.   #--------------------------------------------------------------------------
  201.   alias xrxs_bp7_draw_actor_sp draw_actor_sp
  202.   def draw_actor_sp(actor, x, y, width = 144)
  203.     xrxs_bp7_draw_actor_sp(actor, x, y, width) if @draw_ban != true
  204.   end
  205. end
  206. #==============================================================================
  207. # ■ Scene_Battle
  208. #==============================================================================
  209. class Scene_Battle
  210.   #--------------------------------------------------------------------------
  211.   # ● フレーム更新
  212.   #--------------------------------------------------------------------------
  213.   alias xrxs_bp7_update update
  214.   def update
  215.     xrxs_bp7_update
  216.     # メッセージウィンドウ表示中の場合
  217.     if $game_temp.message_window_showing
  218.       @status_window.update_cp_only = true      
  219.     else
  220.       @status_window.update_cp_only = false
  221.     end
  222.   end
  223. end
  224. #==============================================================================
  225. # ◇ 外部ライブラリ
  226. #==============================================================================
  227. class Window_Base
  228.   #--------------------------------------------------------------------------
  229.   # ● ライン描画 軽量版 by 桜雅 在土
  230.   #--------------------------------------------------------------------------
  231.   def draw_lineght(start_x, start_y, end_x, end_y, start_color)
  232.     # 描写距離の計算。大きめに直角時の長さ。
  233.     distance = (start_x - end_x).abs + (start_y - end_y).abs
  234.     # 描写開始
  235.     for i in 1..distance
  236.       x = (start_x + 1.0 * (end_x - start_x) * i / distance).to_i
  237.       y = (start_y + 1.0 * (end_y - start_y) * i / distance).to_i
  238.       self.contents.set_pixel(x, y, start_color)
  239.     end
  240.   end
  241.   #--------------------------------------------------------------------------
  242.   # ● ライン描画 by 桜雅 在土
  243.   #--------------------------------------------------------------------------
  244.   def draw_line(start_x, start_y, end_x, end_y, start_color, width = 1, end_color = start_color)
  245.     # 描写距離の計算。大きめに直角時の長さ。
  246.     distance = (start_x - end_x).abs + (start_y - end_y).abs
  247.     # 描写開始
  248.     if end_color == start_color
  249.       for i in 1..distance
  250.         x = (start_x + 1.0 * (end_x - start_x) * i / distance).to_i
  251.         y = (start_y + 1.0 * (end_y - start_y) * i / distance).to_i
  252.         if width == 1
  253.           self.contents.set_pixel(x, y, start_color)
  254.         else
  255.           self.contents.fill_rect(x, y, width, width, start_color)
  256.         end
  257.       end
  258.     else
  259.       for i in 1..distance
  260.         x = (start_x + 1.0 * (end_x - start_x) * i / distance).to_i
  261.         y = (start_y + 1.0 * (end_y - start_y) * i / distance).to_i
  262.         r = start_color.red * (distance-i)/distance + end_color.red * i/distance
  263.         g = start_color.green * (distance-i)/distance + end_color.green * i/distance
  264.         b = start_color.blue * (distance-i)/distance + end_color.blue * i/distance
  265.         a = start_color.alpha * (distance-i)/distance + end_color.alpha * i/distance
  266.         if width == 1
  267.           self.contents.set_pixel(x, y, Color.new(r, g, b, a))
  268.         else
  269.           self.contents.fill_rect(x, y, width, width, Color.new(r, g, b, a))
  270.         end
  271.       end
  272.     end
  273.   end
  274. end
  275. class Scene_Battle
  276.   alias lv20_update update
  277.   def update
  278.     lv20_update
  279.     if $jiong_lv20
  280.     @status_window.refresh
  281.     $jiong_lv20 = false
  282.     end
  283.   end
  284. end
  285. class Interpreter
  286.   alias lv20_command_322 command_322
  287.   def command_322
  288.     $jiong_lv20 = true
  289.     return lv20_command_322
  290.   end
  291. end
复制代码

九月三日

  有时我真不理解,怎么有另一个人能够爱她,可以爱她,殊不知我爱她爱得如此真切,如此忘情,如此情意缱倦,除了她我什么也不了解,什么也不知道,什么也没有呀!
——摘自《少年维特之烦恼》

谨以 纪念一段消逝了的感情
ILY ZXY

NOIp什么的最讨厌了!

啊……讨厌,为什么我的网盘全部坏掉了……
zoomshare恢复了,虚惊一场
可恶的skydrive,我XX你的OO,竟把我的帐号封了!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-12-25 09:56

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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