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

Project1

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

[已经过期] 求和SideView不冲突的敌人血条脚本

[复制链接]

Lv1.梦旅人

梦石
0
星屑
1214
在线时间
30 小时
注册时间
2016-4-14
帖子
4
跳转到指定楼层
1
发表于 2016-5-24 20:30:11 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
谁有和SideView不冲突的敌人血条脚本,求发范例(ΦωΦ)

Lv1.梦旅人

梦石
0
星屑
1214
在线时间
30 小时
注册时间
2016-4-14
帖子
4
2
 楼主| 发表于 2016-5-24 20:31:01 | 只看该作者
来个人啊……
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
1089 小时
注册时间
2014-5-9
帖子
504
3
发表于 2016-5-25 08:36:15 | 只看该作者
  1. #==============================================================================
  2. #  ■エネミーの状態を表示 for RGSS3 Ver0.80-α
  3. # □作成者 kure
  4. #==============================================================================
  5. $kure_base_script = {} if $kure_base_script == nil
  6. $kure_base_script[:InfoBar] = 100
  7. p "エネミーの情報表示"
  8. module KURE
  9.   module InfoBar
  10.     #初期設定(変更しない事)-----------------------------------------------------
  11.     COLOR = []

  12.     #表示色(IDによって割り当てが決まっています。)
  13.       #バーの背景色(ID0)
  14.       COLOR[0] = Color.new(32 ,32, 64, 0)

  15.       #HPバーの色(ID1,ID2)
  16.       COLOR[1] = Color.new(224 ,128, 64, 255)
  17.       COLOR[2] = Color.new(240 ,192, 64, 255)

  18.   end
  19. end

  20. #==============================================================================
  21. # ■ RPG::Enemy(追加定義)
  22. #==============================================================================
  23. class RPG::Enemy < RPG::BaseItem
  24.   #--------------------------------------------------------------------------
  25.   # ☆ バーの表示幅の定義(追加定義)
  26.   #--------------------------------------------------------------------------  
  27.   def infobar_width
  28.     @note.match(/<情報表示幅\s?(\d+)\s?>/)
  29.     return 100 unless $1
  30.     return $1.to_i
  31.   end
  32.   #--------------------------------------------------------------------------
  33.   # ☆ バーの表示幅の定義(追加定義)
  34.   #--------------------------------------------------------------------------  
  35.   def infobar_visible?
  36.     return false if @note.include?("<情報非表示>")
  37.     return true
  38.   end
  39. end

  40. #==============================================================================
  41. # ■ Game_Enemy
  42. #==============================================================================
  43. class Game_Enemy < Game_Battler
  44.   #--------------------------------------------------------------------------
  45.   # ☆ バーの表示幅の定義(追加定義)
  46.   #--------------------------------------------------------------------------  
  47.   def infobar_width
  48.     return enemy.infobar_width
  49.   end
  50.   #--------------------------------------------------------------------------
  51.   # ☆ バーの表示幅の定義(追加定義)
  52.   #--------------------------------------------------------------------------  
  53.   def infobar_visible?
  54.     return enemy.infobar_visible?
  55.   end
  56. end

  57. #==============================================================================
  58. # ■ Spriteset_Battle
  59. #==============================================================================
  60. class Spriteset_Battle
  61.   #--------------------------------------------------------------------------
  62.   # ● 敵キャラスプライトの作成(エイリアス再定義)
  63.   #--------------------------------------------------------------------------
  64.   alias k_basescript_before_create_enemies create_enemies
  65.   def create_enemies
  66.     k_basescript_before_create_enemies
  67.     @enemy_info_bar = $game_troop.members.reverse.collect do |enemy|
  68.       Sprite_Infobar.new(@viewport1, enemy)
  69.     end
  70.   end
  71.   #--------------------------------------------------------------------------
  72.   # ● 敵キャラスプライトの更新(エイリアス再定義)
  73.   #--------------------------------------------------------------------------
  74.   alias k_basescript_before_update_enemies update_enemies
  75.   def update_enemies
  76.     k_basescript_before_update_enemies
  77.     @enemy_info_bar.each {|sprite| sprite.update }
  78.   end
  79.   #--------------------------------------------------------------------------
  80.   # ● 敵キャラスプライトの解放(エイリアス再定義)
  81.   #--------------------------------------------------------------------------
  82.   alias k_basescript_before_dispose_enemies dispose_enemies
  83.   def dispose_enemies
  84.     k_basescript_before_dispose_enemies
  85.     @enemy_info_bar.each {|sprite| sprite.dispose }
  86.   end
  87. end

  88. #==============================================================================
  89. # ■ Sprite_Infobar
  90. #==============================================================================
  91. class Sprite_Infobar < Sprite_Base
  92.   #--------------------------------------------------------------------------
  93.   # ● 公開インスタンス変数
  94.   #--------------------------------------------------------------------------
  95.   attr_accessor :battler
  96.   #--------------------------------------------------------------------------
  97.   # ● オブジェクト初期化
  98.   #--------------------------------------------------------------------------
  99.   def initialize(viewport, battler = nil)
  100.     super(viewport)
  101.     @battler = battler
  102.     @fill_w = nil
  103.     @bitmap_data = Cache.battler(battler.battler_name, battler.battler_hue)
  104.     @state = battler.states
  105.     @icon_set = Cache.system("Iconset")
  106.   end
  107.   #--------------------------------------------------------------------------
  108.   # ● フレーム更新
  109.   #--------------------------------------------------------------------------
  110.   def update
  111.     super
  112.     if @battler
  113.       @use_sprite = @battler.use_sprite?
  114.       if @use_sprite
  115.         update_bitmap
  116.         update_origin
  117.         update_position
  118.       end
  119.     else
  120.       self.bitmap = nil
  121.     end
  122.   end
  123.   #--------------------------------------------------------------------------
  124.   # ● 解放
  125.   #--------------------------------------------------------------------------
  126.   def dispose
  127.     bitmap.dispose if bitmap
  128.     super
  129.   end
  130.   #--------------------------------------------------------------------------
  131.   # ● 転送元ビットマップの更新
  132.   #--------------------------------------------------------------------------
  133.   def update_bitmap
  134.     fill_w = @battler.infobar_width * (@battler.hp.to_f / @battler.mhp)
  135.     state = battler.states
  136.     if @fill_w != fill_w or @state != state
  137.       @fill_w = fill_w
  138.       @state = state

  139.       width = 70#@battler.infobar_width + 4

  140.       new_bitmap = Bitmap.new(width, 35)
  141.       @state.each_with_index {|state, index|
  142.         next if 24 * (index + 1) > new_bitmap.width
  143.         rect = Rect.new(state.icon_index % 16 * 24, state.icon_index / 16 * 24, 24, 24)
  144.         new_bitmap.blt(24 * index, 0, @icon_set, rect, 255)
  145.       }
  146.       new_bitmap.fill_rect(0, 25, width, 10, color(0))
  147.       new_bitmap.gradient_fill_rect(2, 27, fill_w, 6, color(1), color(2))

  148.       self.bitmap = new_bitmap
  149.       init_visibility

  150.       self.opacity = 0 unless @battler.infobar_visible?
  151.     end
  152.   end
  153.   #--------------------------------------------------------------------------
  154.   # ● 可視状態の初期化
  155.   #--------------------------------------------------------------------------
  156.   def init_visibility
  157.     @battler_visible = @battler.alive?
  158.     self.opacity = 255      #加這行
  159.     self.opacity = 0 unless @battler_visible
  160.   end
  161.   #--------------------------------------------------------------------------
  162.   # ● 文字色取得
  163.   #--------------------------------------------------------------------------
  164.   def color(num)
  165.     return KURE::InfoBar::COLOR[num]
  166.   end
  167.   #--------------------------------------------------------------------------
  168.   # ● 原点の更新
  169.   #--------------------------------------------------------------------------
  170.   def update_origin
  171.     if bitmap
  172.       self.ox = bitmap.width / 2
  173.       self.oy =  bitmap.height
  174.     end
  175.   end
  176.   #--------------------------------------------------------------------------
  177.   # ● 位置の更新
  178.   #--------------------------------------------------------------------------
  179. def update_position   
  180.     init_visibility      #加這行
  181.     self.x = @battler.screen_x
  182.     self.y = @battler.screen_y + 10 #@bitmap_data.height + 5
  183.     self.z = @battler.screen_z + 1000
  184.   end
  185. end
复制代码
试一下吧。不知道冲不冲突
已填坑作品:唤灵师1,唤灵师2-魔灵大陆,唤灵师3-莉娜丝的吊坠。破晓,傲歌。
填坑中作品:三国梦,罗亚大陆之雇佣兵团
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
1214
在线时间
30 小时
注册时间
2016-4-14
帖子
4
4
 楼主| 发表于 2016-5-25 13:35:09 | 只看该作者
15968715431 发表于 2016-5-25 08:36
试一下吧。不知道冲不冲突

谢谢!但不是我想要的结果
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
8624
在线时间
1465 小时
注册时间
2012-6-6
帖子
349
5
发表于 2016-5-25 20:46:47 | 只看该作者
https://rpg.blue/thread-252003-1-1.html  这个符合你的要求,记得配合F01一起
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
28 小时
注册时间
2010-6-29
帖子
12
6
发表于 2016-5-29 09:02:44 | 只看该作者
为啥显示在敌人下方?

点评

应为上面显示状态图标,下面显示血槽比较清晰。  发表于 2016-5-29 10:45
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-16 12:40

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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