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

Project1

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

[RMVX发布] 傻瓜式敌人血条

[复制链接]

Lv1.梦旅人

天空之神

梦石
0
星屑
156
在线时间
173 小时
注册时间
2009-5-3
帖子
612
跳转到指定楼层
1
发表于 2010-9-24 10:21:29 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 小鱼子 于 2010-9-24 10:22 编辑
  1. #先声明一下,这属于一时胡写的,可能没有沉影的好,大家勿喷

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

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

  39. class Sprite_Hpbar < Sprite_Base
  40.   #--------------------------------------------------------------------------
  41.   # ● 定量
  42.   #--------------------------------------------------------------------------
  43.    #--------------------------------------------------------------------------
  44.    # ● 定义实例变量
  45.   #--------------------------------------------------------------------------
  46.   attr_accessor :battler
  47.    #--------------------------------------------------------------------------
  48.    # ● 初始化对像
  49.   #     viewport : 视口
  50.   #     battler  : 战斗者 (Game_Battler)
  51.    #--------------------------------------------------------------------------
  52.   def initialize(viewport, battler = nil)
  53.     super(viewport)
  54.     @battler = battler
  55.     @name = @battler.name
  56.     @hp = @battler.hp
  57.     self.bitmap = Bitmap.new(100,50)
  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.z = @battler.screen_z + 5
  64.   end

  65.    #--------------------------------------------------------------------------
  66.    # 获取文字色
  67.   #     n : 文字色编号 (0~31)
  68.    #--------------------------------------------------------------------------  
  69.   def text_color(n)
  70.     windowskin = Cache.system("Window")
  71.     x = 64 + (n % 8) * 8
  72.     y = 96 + (n / 8) * 8
  73.     return windowskin.get_pixel(x, y)
  74.   end
  75.   
  76.    #--------------------------------------------------------------------------
  77.    # HP矩形的描画
  78.   #     actor : 角色
  79.   #     x     : 描画目标 X 坐标
  80.   #     y     : 描画目标 Y 坐标
  81.   #     width : 宽
  82.   #--------------------------------------------------------------------------  
  83.   def draw_actor_hp_gauge(actor, x, y, width = 432)
  84.     gw = width * @hp / actor.maxhp
  85.     gc1 = text_color(28)
  86.     gc2 = text_color(24)
  87.     self.bitmap.fill_rect(x+15, y + 24 - 8, width, 6, text_color(19))
  88.     self.bitmap.gradient_fill_rect(x+15, y + 24 - 8, gw, 6, gc1, gc2)
  89.   end
  90.   
  91.   
  92.   
  93.   #--------------------------------------------------------------------------
  94.   # ● 释放
  95.   #--------------------------------------------------------------------------
  96.   def dispose
  97.     if self.bitmap != nil
  98.       self.bitmap.dispose
  99.     end
  100.     super
  101.   end
  102.   #--------------------------------------------------------------------------
  103.   # ● 刷新画面
  104.   #--------------------------------------------------------------------------
  105.   def update
  106.     super
  107.     if @battler == nil
  108.       self.bitmap = nil
  109.     else
  110.       update_battler_bitmap
  111.     end
  112.   end
  113.   #--------------------------------------------------------------------------
  114.   # 刷新位图数据
  115.   #--------------------------------------------------------------------------
  116.   def update_battler_bitmap
  117.     if @battler.dead? or @battler.hidden
  118.        self.opacity = 0
  119.      end
  120.     if [email protected]? and [email protected] and self.opacity == 0
  121.        self.opacity = 255
  122.     end  
  123.      
  124.     if @hp != @battler.hp or @name != @battler.name
  125.        @name = @battler.name
  126.        @hp = @battler.hp
  127.        self.bitmap.clear
  128.        self.bitmap.draw_text(0,10,100,20,@battler.name ,1)
  129.        draw_actor_hp_gauge(@battler, 0, 15, 50)
  130.     end
  131.   end
  132. end
复制代码
截图

评分

参与人数 2星屑 +1792 收起 理由
夕阳武士 + 1776 支持原创
429259591 + 16 再接再厉吧!

查看全部评分

Lv1.梦旅人

水土火风重逢处

梦石
0
星屑
234
在线时间
691 小时
注册时间
2010-7-17
帖子
3042
2
发表于 2010-9-24 10:24:32 | 只看该作者
小鱼子最近挺活跃的,支持一下!
独坐望城,望断天涯
回复 支持 反对

使用道具 举报

Lv1.梦旅人

战国美少年森兰丸

梦石
0
星屑
204
在线时间
852 小时
注册时间
2008-7-20
帖子
3705
3
发表于 2010-9-24 11:24:10 | 只看该作者
适用于横版吗,感动!
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
380 小时
注册时间
2010-8-11
帖子
68
4
发表于 2010-9-24 11:50:59 | 只看该作者
刚刚试了一下,
有几个问题。
首先,
使用这个脚本以后,
确实可以显血,
但是使用后,
攻击伤害数字不显示了,
而且攻击也会变得混乱。
比如选中史莱姆a,
上面提示的却是史莱姆b
真正攻击时,
动画也会错乱。
如下图
选中和攻击时的错乱画面。


希望能修改一下,
我正愁没有能用在sideview里的现血呢!
支持一下吧!
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2010-9-10
帖子
13
5
发表于 2010-9-29 11:46:11 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-24 15:14

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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