Project1

标题: 帮忙改一下脚本。 [打印本页]

作者: 李梦遥    时间: 2010-8-16 15:00
标题: 帮忙改一下脚本。
本帖最后由 李梦遥 于 2010-8-16 15:17 编辑

这个脚本是在地图上直接显示血条和法条的。但是当有4个角色进来的时候,血法条旁边的人物框全部是一样的。。都是角色1的样子。能不能修改成当角色ID4或ID5,进入队伍时,则显示bar4或bar5,我好直接修改图片的样式。而角色ID1便是bar1 同理
  1. class Game_Actor < Game_Battler
  2.   def now_exp
  3.     return @exp - @exp_list[@level]
  4.   end
  5.   def next_exp
  6.     return @exp_list[@level+1] > 0 ? @exp_list[@level+1] - @exp_list[@level] : 0
  7.   end
  8. end
  9. class Sprite_Bar < Sprite
  10.   def initialize(v,actor)
  11.     super(v)
  12.     self.bitmap = RPG::Cache.picture("bar")
  13.     self.visible = false
  14.     @actor = actor
  15.     refresh
  16.   end
  17.   def refresh
  18.     self.bitmap.clear
  19.     self.bitmap.dispose
  20.     self.bitmap = nil
  21.     bar = RPG::Cache.picture("bar")
  22.     self.bitmap = bar.dup
  23.     bitmap = RPG::Cache.picture("血法条/01001")
  24.     hp_w = @actor.hp * bitmap.width / @actor.maxhp
  25.     rect = Rect.new(0, 0, hp_w,bitmap.height)
  26.     self.bitmap.blt(48, 16, bitmap, rect)
  27.    
  28.     bitmap = RPG::Cache.picture("血法条/01002")
  29.     hp_w = @actor.sp * bitmap.width / @actor.maxsp
  30.     rect = Rect.new(0, 0, hp_w,bitmap.height)
  31.     self.bitmap.blt(48, 29, bitmap, rect)
  32.    
  33.     bitmap = RPG::Cache.picture("血法条/01003")
  34.     if @actor.next_exp == 0
  35.       hp_w = @actor.now_exp
  36.     else
  37.       hp_w = @actor.now_exp * bitmap.width / @actor.next_exp
  38.     end
  39.     rect = Rect.new(0, 0, hp_w,bitmap.height)
  40.     self.bitmap.blt(48, 3, bitmap, rect)
  41.    
  42.     # 3 16 29
  43.    
  44.     @hp = @actor.hp
  45.     @sp = @actor.sp
  46.     @exp = @actor.now_exp
  47.   end
  48.   def update
  49.     super
  50.     self.visible = $game_switches[999]
  51.     return unless self.visible
  52.     refresh if @hp != @actor.hp || @sp != @actor.sp || @exp != @actor.now_exp
  53.   end
  54. end
  55. class Scene_Map
  56.   alias new_main main unless method_defined?("new_main")
  57.   alias new_update update unless method_defined?("new_update")
  58.   def main
  59.     @bar = []
  60.     @vie = []
  61.     for actor in $game_party.actors
  62.       v = Viewport.new(640-((actor.index+1) * 129), 0, 129, 45)
  63.       v.z += 1000
  64.       @bar.push(Sprite_Bar.new(v, actor))
  65.       @vie.push(v)
  66.     end
  67.     new_main
  68.     @bar.each{|bar|bar.dispose}
  69.     @vie.each{|vie|vie.dispose}
  70.   end
  71.   def update
  72.     @bar.each{|bar|bar.update}
  73.     new_update
  74.   end
  75. end
复制代码

作者: 逸豫    时间: 2010-8-16 15:02
12行
    self.bitmap = RPG::Cache.picture("bar")
改为
    self.bitmap = RPG::Cache.picture("bar#{actor.id}")

作者: 李梦遥    时间: 2010-8-16 15:08
还是无用……。。。
上图

15 点 07 分 16 秒.jpg (296.03 KB, 下载次数: 1)

15 点 07 分 16 秒.jpg

作者: 逸豫    时间: 2010-8-16 15:14
21行同样修改
bar = RPG::Cache.picture("bar#{@actor.id}")
另:图片外链被网易了
作者: 李梦遥    时间: 2010-8-16 15:15
谢谢了
作者: 沉夜    时间: 2010-8-16 15:42
还有大3的酒鬼^




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1