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

Project1

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

[已经过期] 定制一个敌人血条的脚本

[复制链接]

Lv2.观梦者

梦石
0
星屑
380
在线时间
602 小时
注册时间
2014-5-8
帖子
699
跳转到指定楼层
1
发表于 2016-2-17 14:45:33 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 布罗利 于 2016-2-17 14:47 编辑

我想要一个敌人血条的脚本,找了好多,但都不合我胃口{:2_285:}
所以我想定制一个,具体的要求如下:
1、显示一个敌人的HP血条,可以更改血条的位置{:2_274:}
2、如果没有击败过这个敌人,那么值槽里显示问号{:2_274:}
3、攻击敌人时,敌人血条下降要有动画效果{:2_274:}
4、要配合Sideview系统的镜头{:2_286:}
因为Sideview系统的镜头战斗时会有所变化,所以血条描绘到一个位置会有问题,位置以及放大率得根据镜头来判定{:2_284:}
5、如果敌人是BOSS,隐藏血条,就是可以设定某敌人不显示血条{:2_252:}
6、脚本提交后,版权属于神话时代制作组{:2_253:}

如果比较迷茫的话,可以参考一下 GBA游戏-龙战士2{:2_268:}


应该就是这么多内容,不懂的话再详细的问我{:2_251:}
第一次定制脚本,不知道要求是不是有点过分了呢.....{:2_260:}

@芯☆淡茹水 @牛肉面 @邪月长啸 @VIPArcher @RyanBern @上贺茂润 @怪蜀黍 @三途亚梦 @天使喝可乐 @myownroc @chd114 @YamazakiRyusa @黄谊洲 @slick @永燃的狂炎 @龙和许也 @月华风

点评

因为我懒  发表于 2016-2-18 08:28
……你有这个能力自己写的  发表于 2016-2-17 17:35

Lv3.寻梦者

梦石
0
星屑
3541
在线时间
2620 小时
注册时间
2012-3-1
帖子
769
2
发表于 2016-2-17 17:34:04 | 只看该作者
本帖最后由 卡奥尼特 于 2016-2-17 17:55 编辑

啊!!請允許我傲嬌一下....

已搬走...

点评

什么东西?  发表于 2016-2-18 08:29
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1293
在线时间
995 小时
注册时间
2014-12-14
帖子
3016

开拓者

3
发表于 2016-2-18 23:01:02 | 只看该作者
本帖最后由 Vortur 于 2016-2-21 04:46 编辑

在下不会做,喵呜喵5是接这种脚本的工程的,为何还要发帖求助?
【RMVA教程】
---------------------
欲买桂花同载酒,终不似,少年游.
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
8704
在线时间
1470 小时
注册时间
2012-6-6
帖子
349
4
发表于 2016-2-19 13:24:25 | 只看该作者
芙蕾雅专为横版战斗写了一个血条脚本,那个血条的确会跟镜头移动,放在sideview下面,至于你说的问号和血条动画效果自己尝试修改一下,这个给你做个参考
RUBY 代码复制
  1. #==============================================================================
  2. # F08 - 战斗敌人显示血条·改 - By芙蕾娅
  3. #    对应横板战斗版本
  4. #------------------------------------------------------------------------------
  5. #  ★ - 新增  ☆ - 修改  ■ - 删除 ● - 无变更
  6. #==============================================================================
  7. module Freya
  8.   # 隐藏HP的文本
  9.   HideGaugeText = "Hide_Gauge"
  10.   # 血条颜色
  11.   EnemyHPGaugeColor1 = Color.new(255,255,0)
  12.   EnemyHPGaugeColor2 = Color.new(255,  0,0)
  13.   Gauge_Type = 3
  14. end
  15. #==============================================================================
  16. # ■ Sprite_Battler_HP
  17. #------------------------------------------------------------------------------
  18. #  显示战斗者的生命在战斗者的精灵下面。
  19. #==============================================================================
  20. class Sprite_Battler_HP < Sprite
  21.   #--------------------------------------------------------------------------
  22.   # ● 初始化对象
  23.   #--------------------------------------------------------------------------
  24.   def initialize(viewport,battler)
  25.     super(viewport)
  26.     return if battler.nil?
  27.     @battler = battler
  28.     @last_hp = 0
  29.     create_bitmap
  30.     update
  31.   end
  32.   #--------------------------------------------------------------------------
  33.   # ● 释放
  34.   #--------------------------------------------------------------------------
  35.   def dispose
  36.     self.bitmap.dispose
  37.     super
  38.   end
  39.   #--------------------------------------------------------------------------
  40.   # ● 生成位图
  41.   #--------------------------------------------------------------------------
  42.     def create_bitmap
  43.     @last_hp = @battler.hp
  44.     bw = 96
  45.     bh = 24
  46.     self.bitmap = Bitmap.new(bw, bh)
  47.     self.bitmap.fill_rect(0, 0, bw, 6, Color.new(32,32,64))
  48.     if Freya::Gauge_Type.nil? or Freya::Gauge_Type == 0
  49.       hp = ((bw) * @battler.hp_rate).to_i
  50.       self.bitmap.gradient_fill_rect(0, 0, hp, 6, Freya::EnemyHPGaugeColor1, Freya::EnemyHPGaugeColor2)
  51.     elsif Freya::Gauge_Type == 1
  52.       hp = ((width - 2) * @battler.hp_rate).to_i
  53.       self.bitmap.gradient_fill_rect(1, 1, hp, 6 - 2, Freya::EnemyHPGaugeColor1, Freya::EnemyHPGaugeColor2)
  54.     elsif Freya::Gauge_Type == 2
  55.       hp = ((width) * @battler.hp_rate).to_i
  56.       self.bitmap.gradient_fill_rect(0, 0, hp / 2, 6, Freya::EnemyHPGaugeColor1, Freya::EnemyHPGaugeColor2)
  57.       self.bitmap.gradient_fill_rect(hp / 2, 0, hp / 2, 6, Freya::EnemyHPGaugeColor2, Freya::EnemyHPGaugeColor1)
  58.     elsif Freya::Gauge_Type == 3
  59.       hp = ((width - 2) * @battler.hp_rate).to_i
  60.       self.bitmap.gradient_fill_rect(1, 1, hp / 2, 6 - 2, Freya::EnemyHPGaugeColor1, Freya::EnemyHPGaugeColor2)
  61.       self.bitmap.gradient_fill_rect((hp / 2) + 1, 1, hp / 2, 6 - 2, Freya::EnemyHPGaugeColor2, Freya::EnemyHPGaugeColor1)
  62.     end
  63.     self.bitmap.draw_text(0,0,bw,24,@battler.name)
  64.   end
  65.   #--------------------------------------------------------------------------
  66.   # ● 更新画面
  67.   #--------------------------------------------------------------------------
  68.   def update
  69.     super
  70.     unless self.bitmap.nil?
  71.       self.z = @battler.sv.z + 20
  72.       create_bitmap if @last_hp != @battler.hp
  73.       hide = $data_enemies[@battler.enemy_id].note.include?(Freya::HideGaugeText)
  74.       self.opacity = 0 if @battler.hp == 0 or hide
  75.     end
  76.   end
  77. end
  78.  
  79. #==============================================================================
  80. # ■ Sprite_Battler
  81. #------------------------------------------------------------------------------
  82. #  显示战斗者的精灵。根据 Game_Battler 类的实例自动变化。
  83. #==============================================================================
  84. class Sprite_Battler < Sprite_Base
  85.   #--------------------------------------------------------------------------
  86.   # ☆ 初始化对象
  87.   #--------------------------------------------------------------------------
  88.   alias initialize_freya_enemy_hp initialize
  89.   def initialize(viewport, battler = nil)
  90.     initialize_freya_enemy_hp(viewport, battler)
  91.     if @battler.is_a?(Game_Enemy)
  92.       @hp_gauge = Sprite_Battler_HP.new(viewport, battler)
  93.     end
  94.   end
  95.   #--------------------------------------------------------------------------
  96.   # ☆ 释放
  97.   #--------------------------------------------------------------------------
  98.   alias dispose_freya_enemy_hp dispose
  99.   def dispose
  100.     dispose_freya_enemy_hp
  101.     unless @hp_gauge.nil?
  102.       @hp_gauge.dispose
  103.     end
  104.   end
  105.   #--------------------------------------------------------------------------
  106.   # ☆ 更新画面
  107.   #--------------------------------------------------------------------------
  108.   alias update_freya_enemy_hp update
  109.   def update
  110.     update_freya_enemy_hp
  111.     @hp_gauge.update unless @hp_gauge.nil?
  112.   end
  113.   alias update_freya_position update_position
  114.   def update_position
  115.     update_freya_position
  116.     @hp_gauge.x = self.x - 48 unless @hp_gauge.nil?
  117.     @hp_gauge.y = self.y unless @hp_gauge.nil?
  118.   end
  119. end

点评

F08 这个脚本,我在用....开始的时候也没没发现血条在哪里.. 后来我从新安排了怪物的位置...发现...有血条了,我觉得是不是血条被遮挡了  发表于 2016-2-26 15:34
但VIP不能给你,并没有解决其他的问题  发表于 2016-2-19 14:59
有效果了....  发表于 2016-2-19 14:57
插入后,并没有任何效果,难道我使用的姿势不对?  发表于 2016-2-19 14:56
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
8704
在线时间
1470 小时
注册时间
2012-6-6
帖子
349
5
发表于 2016-2-23 18:44:43 | 只看该作者
流浪杰哥 发表于 2016-2-19 13:24
芙蕾雅专为横版战斗写了一个血条脚本,那个血条的确会跟镜头移动,放在sideview下面,至于你说的问号和血条 ...

偶然发现有人跟我一样想要这样的血条,VIP我不需要,其他问题我也没有办法
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-12-2 03:17

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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