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

Project1

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

[700分,1卡]改脚本~

 关闭 [复制链接]

Lv1.梦旅人

Haagen-Daz

梦石
0
星屑
50
在线时间
14 小时
注册时间
2009-1-24
帖子
614
跳转到指定楼层
1
发表于 2009-2-6 02:28:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x

  1. class Spriteset_Battle
  2.   #--------------------------------------------------------------------------
  3.   # ● 生成敌人活动块
  4.   #--------------------------------------------------------------------------
  5.   def create_enemies
  6.     @enemy_sprites = []
  7.     @enemy_hpbar_sprites = []
  8.     for enemy in $game_troop.members.reverse
  9.       @enemy_sprites.push(Sprite_Battler.new(@viewport1, enemy))
  10.       @enemy_hpbar_sprites.push(Sprite_Hpbar.new(@viewport1, enemy))
  11.     end
  12.   end

  13.   #--------------------------------------------------------------------------
  14.   # ● 刷新敌人活动块
  15.   #--------------------------------------------------------------------------
  16.   def update_enemies
  17.     for sprite in @enemy_sprites + @enemy_hpbar_sprites
  18.       sprite.update
  19.     end
  20.   end
  21.   
  22.   #--------------------------------------------------------------------------
  23.   # ● 释放敌人活动块
  24.   #--------------------------------------------------------------------------
  25.   def dispose_enemies
  26.     for sprite in @enemy_sprites + @enemy_hpbar_sprites
  27.       sprite.dispose
  28.     end
  29.   end
  30.   
  31.   
  32. end
  33. #==============================================================================
  34. # ■ Sprite_Sprite_Hpbar
  35. #------------------------------------------------------------------------------
  36. #  血条显示
  37. #==============================================================================

  38. class Sprite_Hpbar < Sprite_Base
  39.   #--------------------------------------------------------------------------
  40.   # ● 定量
  41.   #--------------------------------------------------------------------------
  42.   #--------------------------------------------------------------------------
  43.   # ● 定义实例变量
  44.   #--------------------------------------------------------------------------
  45.   attr_accessor :battler
  46.   #--------------------------------------------------------------------------
  47.   # ● 初始化对像
  48.   #     viewport : 视口
  49.   #     battler  : 战斗者 (Game_Battler)
  50.   #--------------------------------------------------------------------------
  51.   def initialize(viewport, battler = nil)
  52.     super(viewport)
  53.     @battler = battler
  54.     @name = @battler.name
  55.     @hp = @battler.hp
  56.     self.bitmap = Bitmap.new(100,50)
  57.   #  self.bitmap.fill_rect(0,0,100,50,Color.new(255,0,0,255))
  58.     self.bitmap.draw_text(0,10,100,20,@battler.name ,1)
  59.     draw_actor_hp_gauge(@battler, 0, 15, 50)
  60.    
  61.     self.x = @battler.screen_x - 30
  62.     self.y = @battler.screen_y - self.bitmap.height / 2
  63.   #  self.ox = self.bitmap.width
  64.   #  self.oy = self.bitmap.height
  65.     self.z = @battler.screen_z + 5
  66.   end
  67.   #--------------------------------------------------------------------------
  68.   # ● 获取文字色
  69.   #     n : 文字色编号 (0~31)
  70.   #--------------------------------------------------------------------------  
  71.   def text_color(n)
  72.     windowskin = Cache.system("Window")
  73.     x = 64 + (n % 8) * 8
  74.     y = 96 + (n / 8) * 8
  75.     return windowskin.get_pixel(x, y)
  76.   end
  77.   #--------------------------------------------------------------------------
  78.   # ● HP矩形的描画
  79.   #     actor : 角色
  80.   #     x     : 描画目标 X 坐标
  81.   #     y     : 描画目标 Y 坐标
  82.   #     width : 宽
  83.   #--------------------------------------------------------------------------  
  84.   def draw_actor_hp_gauge(actor, x, y, width = 120)
  85.     gw = width * @hp / actor.maxhp
  86.     gc1 = text_color(28)
  87.     gc2 = text_color(24)
  88.     self.bitmap.fill_rect(x, y + 24 - 8, width, 6, text_color(19))
  89.     self.bitmap.gradient_fill_rect(x, y + 24 - 8, gw, 6, gc1, gc2)
  90.   end
  91.   
  92.   
  93.   
  94.   #--------------------------------------------------------------------------
  95.   # ● 释放
  96.   #--------------------------------------------------------------------------
  97.   def dispose
  98.     if self.bitmap != nil
  99.       self.bitmap.dispose
  100.     end
  101.     super
  102.   end
  103.   #--------------------------------------------------------------------------
  104.   # ● 刷新画面
  105.   #--------------------------------------------------------------------------
  106.   def update
  107.     super
  108.     if @battler == nil
  109.       self.bitmap = nil
  110.     else
  111.       update_battler_bitmap
  112.     end
  113.   end
  114.   #--------------------------------------------------------------------------
  115.   # ● 刷新传送的位图数据
  116.   #--------------------------------------------------------------------------
  117.   def update_battler_bitmap
  118.     if @battler.dead? or @battler.hidden
  119.        self.opacity = 0
  120.      end
  121.     if [email protected]? and [email protected] and self.opacity == 0
  122.        self.opacity = 255
  123.     end  
  124.      
  125.     if @hp != @battler.hp or @name != @battler.name
  126.        @name = @battler.name
  127.        @hp = @battler.hp
  128.        self.bitmap.clear
  129.        self.bitmap.draw_text(0,10,100,20,@battler.name ,1)
  130.        draw_actor_hp_gauge(@battler, 0, 15, 50)
  131.     end
  132.   end
  133. end
复制代码

这个是脚本,麻烦修改一下
一、血条在上名字在下
二、名字小一点
三、图片图条……


配合成图片血条

版务信息:本贴由楼主自主结贴~
be back

Lv1.梦旅人

kissye的宠物<

梦石
0
星屑
61
在线时间
1563 小时
注册时间
2008-8-11
帖子
6174

贵宾

2
发表于 2009-2-6 02:31:29 | 只看该作者
  1. class Spriteset_Battle
  2.   #--------------------------------------------------------------------------
  3.   # ● 生成敌人活动块
  4.   #--------------------------------------------------------------------------
  5.   def create_enemies
  6.     @enemy_sprites = []
  7.     @enemy_hpbar_sprites = []
  8.     for enemy in $game_troop.members.reverse
  9.       @enemy_sprites.push(Sprite_Battler.new(@viewport1, enemy))
  10.       @enemy_hpbar_sprites.push(Sprite_Hpbar.new(@viewport1, enemy))
  11.     end
  12.   end

  13.   #--------------------------------------------------------------------------
  14.   # ● 刷新敌人活动块
  15.   #--------------------------------------------------------------------------
  16.   def update_enemies
  17.     for sprite in @enemy_sprites + @enemy_hpbar_sprites
  18.       sprite.update
  19.     end
  20.   end
  21.   
  22.   #--------------------------------------------------------------------------
  23.   # ● 释放敌人活动块
  24.   #--------------------------------------------------------------------------
  25.   def dispose_enemies
  26.     for sprite in @enemy_sprites + @enemy_hpbar_sprites
  27.       sprite.dispose
  28.     end
  29.   end
  30.   
  31.   
  32. end
  33. #==============================================================================
  34. # ■ Sprite_Sprite_Hpbar
  35. #------------------------------------------------------------------------------
  36. #  血条显示
  37. #==============================================================================

  38. class Sprite_Hpbar < Sprite_Base
  39.   #--------------------------------------------------------------------------
  40.   # ● 定量
  41.   #--------------------------------------------------------------------------
  42.   #--------------------------------------------------------------------------
  43.   # ● 定义实例变量
  44.   #--------------------------------------------------------------------------
  45.   attr_accessor :battler
  46.   #--------------------------------------------------------------------------
  47.   # ● 初始化对像
  48.   #     viewport : 视口
  49.   #     battler  : 战斗者 (Game_Battler)
  50.   #--------------------------------------------------------------------------
  51.   def initialize(viewport, battler = nil)
  52.     super(viewport)
  53.     @battler = battler
  54.     @name = @battler.name
  55.     @hp = @battler.hp
  56.     self.bitmap = Bitmap.new(100,50)
  57.   #  self.bitmap.fill_rect(0,0,100,50,Color.new(255,0,0,255))
  58.     self.bitmap.draw_text(0,10,100,20,@battler.name ,1)
  59.     draw_actor_hp_gauge(@battler, 0, 15, 50)
  60.    
  61.     self.x = @battler.screen_x - 30
  62.     self.y = @battler.screen_y - self.bitmap.height / 2
  63.   #  self.ox = self.bitmap.width
  64.   #  self.oy = self.bitmap.height
  65.     self.z = @battler.screen_z + 5
  66.   end
  67.   #--------------------------------------------------------------------------
  68.   # ● 获取文字色
  69.   #     n : 文字色编号 (0~31)
  70.   #--------------------------------------------------------------------------  
  71.   def text_color(n)
  72.     windowskin = Cache.system("Window")
  73.     x = 64 + (n % 8) * 8
  74.     y = 96 + (n / 8) * 8
  75.     return windowskin.get_pixel(x, y)
  76.   end
  77.   #--------------------------------------------------------------------------
  78.   # ● HP矩形的描画
  79.   #     actor : 角色
  80.   #     x     : 描画目标 X 坐标
  81.   #     y     : 描画目标 Y 坐标
  82.   #     width : 宽
  83.   #--------------------------------------------------------------------------  
  84.   def draw_actor_hp_gauge(actor, x, y, width = 120)
  85.     gw = width * @hp / actor.maxhp
  86.     gc1 = text_color(28)
  87.     gc2 = text_color(24)
  88.     self.bitmap.fill_rect(x, y + 24 - 8, width, 6, text_color(19))
  89.     self.bitmap.gradient_fill_rect(x, y + 24 - 8, gw, 6, gc1, gc2)
  90.   end
  91.   
  92.   
  93.   
  94.   #--------------------------------------------------------------------------
  95.   # ● 释放
  96.   #--------------------------------------------------------------------------
  97.   def dispose
  98.     if self.bitmap != nil
  99.       self.bitmap.dispose
  100.     end
  101.     super
  102.   end
  103.   #--------------------------------------------------------------------------
  104.   # ● 刷新画面
  105.   #--------------------------------------------------------------------------
  106.   def update
  107.     super
  108.     if @battler == nil
  109.       self.bitmap = nil
  110.     else
  111.       update_battler_bitmap
  112.     end
  113.   end
  114.   #--------------------------------------------------------------------------
  115.   # ● 刷新传送的位图数据
  116.   #--------------------------------------------------------------------------
  117.   def update_battler_bitmap
  118.     if @battler.dead? or @battler.hidden
  119.        self.opacity = 0
  120.      end
  121.     if [email protected]? and [email protected] and self.opacity == 0
  122.        self.opacity = 255
  123.     end  
  124.      
  125.     if @hp != @battler.hp or @name != @battler.name
  126.        @name = @battler.name
  127.        @hp = @battler.hp
  128.        self.bitmap.clear
  129.        self.bitmap.draw_text(0,10,100,20,@battler.name ,1)
  130.        draw_actor_hp_gauge(@battler, 0, 15, 50)
  131.     end
  132.   end
  133. end
复制代码

系统信息:本贴获得楼主认可,66RPG感谢您的热情解答~
系统信息:本贴获得楼主认可,66RPG感谢您的热情解答~
系统信息:本贴获得楼主认可,66RPG感谢您的热情解答~
回复 支持 反对

使用道具 举报

Lv1.梦旅人

Haagen-Daz

梦石
0
星屑
50
在线时间
14 小时
注册时间
2009-1-24
帖子
614
3
 楼主| 发表于 2009-2-6 02:32:26 | 只看该作者
望楼上,好速度……
去笔记本试一下,稍后更精彩


麻烦修改一下
一、血条在上名字在下
二、名字小一点
三、图片图条……


配合成图片血条
be back
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2008-9-22
帖子
474
4
发表于 2009-2-6 06:43:47 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

Lv1.梦旅人

Haagen-Daz

梦石
0
星屑
50
在线时间
14 小时
注册时间
2009-1-24
帖子
614
5
 楼主| 发表于 2009-2-6 17:04:13 | 只看该作者
……自顶,怎么没有人- -b
be back
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
65
在线时间
433 小时
注册时间
2007-5-1
帖子
993
6
发表于 2009-2-6 18:49:50 | 只看该作者
  1. ENEMY_NAME_SIZE = 16                     # 怪物名字大小
  2. HP_X = 2                                 # HP的X坐标
  3. HP_Y = 12                                # HP的Y坐标  
  4. HP_BACKGROUND_COLOR = Color.new(0, 0, 0) # 血条背景颜色,三个0是黑色,三个255是白色
  5. HP_BAR_NAME1 = "HPbar1"                 # 血条图片外面那个框框的图片名称
  6. HP_BAR_NAME2 = "HPbar2"                 # 血条图片红色那部分的图片名称
  7.                                          # 上面两个的双引号不能去掉
  8. class Spriteset_Battle
  9.   #--------------------------------------------------------------------------
  10.   # ● 生成敌人活动块
  11.   #--------------------------------------------------------------------------
  12.   def create_enemies
  13.     @enemy_sprites = []
  14.     @enemy_hpbar_sprites = []
  15.     for enemy in $game_troop.members.reverse
  16.       @enemy_sprites.push(Sprite_Battler.new(@viewport1, enemy))
  17.       @enemy_hpbar_sprites.push(Sprite_Hpbar.new(@viewport1, enemy))
  18.     end
  19.   end

  20.   #--------------------------------------------------------------------------
  21.   # ● 刷新敌人活动块
  22.   #--------------------------------------------------------------------------
  23.   def update_enemies
  24.     for sprite in @enemy_sprites + @enemy_hpbar_sprites
  25.       sprite.update
  26.     end
  27.   end
  28.   
  29.   #--------------------------------------------------------------------------
  30.   # ● 释放敌人活动块
  31.   #--------------------------------------------------------------------------
  32.   def dispose_enemies
  33.     for sprite in @enemy_sprites + @enemy_hpbar_sprites
  34.       sprite.dispose
  35.     end
  36.   end
  37.   
  38.   
  39. end
  40. #==============================================================================
  41. # ■ Sprite_Sprite_Hpbar
  42. #------------------------------------------------------------------------------
  43. #  血条显示
  44. #==============================================================================

  45. class Sprite_Hpbar < Sprite_Base
  46.   #--------------------------------------------------------------------------
  47.   # ● 定量
  48.   #--------------------------------------------------------------------------
  49.   #--------------------------------------------------------------------------
  50.   # ● 定义实例变量
  51.   #--------------------------------------------------------------------------
  52.   attr_accessor :battler
  53.   #--------------------------------------------------------------------------
  54.   # ● 初始化对像
  55.   #     viewport : 视口
  56.   #     battler  : 战斗者 (Game_Battler)
  57.   #--------------------------------------------------------------------------
  58.   def initialize(viewport, battler = nil)
  59.     super(viewport)
  60.     @battler = battler
  61.     @name = @battler.name
  62.     @hp = @battler.hp
  63.     self.bitmap = Bitmap.new(100,50)
  64.   #  self.bitmap.fill_rect(0,0,100,50,Color.new(255,0,0,255))
  65.     draw_battler_hp(HP_X, HP_Y, 50)
  66.     self.x = @battler.screen_x - 30
  67.     self.y = @battler.screen_y - self.bitmap.height / 2
  68.   #  self.ox = self.bitmap.width
  69.   #  self.oy = self.bitmap.height
  70.     self.z = @battler.screen_z + 5
  71.   end
  72.   #--------------------------------------------------------------------------
  73.   # ● 获取文字色
  74.   #     n : 文字色编号 (0~31)
  75.   #--------------------------------------------------------------------------  
  76.   def text_color(n)
  77.     windowskin = Cache.system("Window")
  78.     x = 64 + (n % 8) * 8
  79.     y = 96 + (n / 8) * 8
  80.     return windowskin.get_pixel(x, y)
  81.   end
  82.   #--------------------------------------------------------------------------
  83.   # ● HP矩形的描画
  84.   #     x     : 描画目标 X 坐标
  85.   #     y     : 描画目标 Y 坐标
  86.   #     width : 宽
  87.   #--------------------------------------------------------------------------  
  88.   def draw_actor_hp_gauge(x, y, width = 120)
  89.     bitmap = Cache.load_bitmap("Graphics/Pictures/", HP_BAR_NAME1)
  90.     rect = Rect.new(0, 0, 100, 50)
  91.     self.bitmap.blt(x, y, bitmap, rect)
  92.     bitmap = Cache.load_bitmap("Graphics/Pictures/", HP_BAR_NAME2)
  93.     self.bitmap.blt(x + 4, y + 2, bitmap, rect)
  94.     rect.width = bitmap.width - bitmap.width * @battler.hp / @battler.maxhp
  95.     rect.height = bitmap.height
  96.     rect.y = y + 2
  97.     rect.x = bitmap.width + 6 - rect.width
  98.     self.bitmap.fill_rect(rect, HP_BACKGROUND_COLOR)
  99.   end
  100.   #--------------------------------------------------------------------------
  101.   # ● 画HP
  102.   #     x     : 描画目标 X 坐标
  103.   #     y     : 描画目标 Y 坐标
  104.   #     width : 宽
  105.   #--------------------------------------------------------------------------
  106.   def draw_battler_hp(x, y, width = 120)
  107.     self.bitmap.clear
  108.     self.bitmap.font.size = ENEMY_NAME_SIZE
  109.     self.bitmap.draw_text(x - 12, y + 6, 100,20, @battler.name ,1)
  110.     draw_actor_hp_gauge(x, y, width)
  111.   end
  112.   
  113.   #--------------------------------------------------------------------------
  114.   # ● 释放
  115.   #--------------------------------------------------------------------------
  116.   def dispose
  117.     if self.bitmap != nil
  118.       self.bitmap.dispose
  119.     end
  120.     super
  121.   end
  122.   #--------------------------------------------------------------------------
  123.   # ● 刷新画面
  124.   #--------------------------------------------------------------------------
  125.   def update
  126.     super
  127.     if @battler == nil
  128.       self.bitmap = nil
  129.     else
  130.       update_battler_bitmap
  131.     end
  132.   end
  133.   #--------------------------------------------------------------------------
  134.   # ● 刷新传送的位图数据
  135.   #--------------------------------------------------------------------------
  136.   def update_battler_bitmap
  137.     if @battler.dead? or @battler.hidden
  138.        self.opacity = 0
  139.      end
  140.     if [email protected]? and [email protected] and self.opacity == 0
  141.        self.opacity = 255
  142.     end  
  143.      
  144.     if @hp != @battler.hp or @name != @battler.name
  145.       draw_battler_hp(HP_X, HP_Y, 50)
  146.     end
  147.   end
  148. end
复制代码




开头提供了些可变更的参数,都有详细说明……
PS:血条外面那个框未去底……
系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~

嗯,不能浪费签名了,打广告。本人的悲剧作品:
坑化游戏《龙之影》      R剧《星空》     小游戏《剑与拳头》
回复 支持 反对

使用道具 举报

Lv1.梦旅人

Haagen-Daz

梦石
0
星屑
50
在线时间
14 小时
注册时间
2009-1-24
帖子
614
7
 楼主| 发表于 2009-2-6 19:09:24 | 只看该作者
楼上的,么一个{/hx}
楼上的把脚本发布了吧,还能多赚几个vv
be back
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
65
在线时间
433 小时
注册时间
2007-5-1
帖子
993
8
发表于 2009-2-6 19:21:24 | 只看该作者
以下引用哈根达斯于2009-2-6 11:09:24的发言:

楼上的,么一个
楼上的把脚本发布了吧,还能多赚几个vv


MS这类脚本已经有很多,懒得发了……

嗯,不能浪费签名了,打广告。本人的悲剧作品:
坑化游戏《龙之影》      R剧《星空》     小游戏《剑与拳头》
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2025-1-10 11:23

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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