Project1

标题: MOG Boss血条差点改好了...但... [打印本页]

作者: alexncf125    时间: 2020-12-16 07:16
标题: MOG Boss血条差点改好了...但...
本帖最后由 alexncf125 于 2020-12-16 10:35 编辑

Project2.rar (1.71 MB, 下载次数: 158)
经过一晚的努力
我把一条血条改成了多条血条
然而有很多BUG...

有没有大佬能救救它

Project3.rar (1.71 MB, 下载次数: 110) <-这个是因有些地方未改, 而较上方那个工程正常(即是也是一个有问题的工程)
作者: KB.Driver    时间: 2020-12-16 07:16
本帖最后由 KB.Driver 于 2020-12-22 23:49 编辑




随手改了改改了两个多小时,阉掉了不必要的功能,能跑就行


代码


顺便一说,楼主对面向对象仅从语法上有所了解,
对细节的设计就像小孩子搭出来的积木一样,缺少平衡感。
还有一些问题就不一一指出了,毕竟解决问题是第一要务,下面这些当作思考题留给楼主吧。

1、


2.


作者: soulsaga    时间: 2020-12-16 13:56
楼主有什么问题...
作者: srwjrevenger    时间: 2020-12-19 12:14
soulsaga 发表于 2020-12-16 13:56
楼主有什么问题...

1.关于一堆nil
class Game_Enemy < Game_Battler
  attr_accessor :boss_hp_meter
  attr_accessor :boss_hp_number
  attr_accessor :level
上面生成了每个敌人“各自独立”的变量
但是楼主把敌人@level 变成了数组,中间当然都是nil

2.关于绘制血条方面的问题
刷新是全部血条一起,并且使用的数据都是最后能调用的那人
这都是把原脚本改成类似下面那样的锅
#------------------------------------原脚本--------------------------------------
#~   # ● Create Boss HP Meter
#~   #--------------------------------------------------------------------------      
#~   def create_boss_hp_meter(i)
#~       $game_system.boss_hp_meter[2] = true
#~       $game_system.boss_hp_meter[3] = i.name
#~       $game_system.boss_hp_meter[4] = i.hp
#~       $game_system.boss_hp_meter[5] = i.mhp
#~       $game_system.boss_hp_meter[6] = i.hp
#~       $game_system.boss_hp_meter[7] = i.level rescue nil
#~       $game_system.boss_hp_meter[8] = 0
#~       $game_system.boss_hp_meter[9] = i.boss_hp_number
#~       $game_system.boss_hp_meter[10] = i.enemy_id
#~       refresh_hp_meter
#~       create_layout
#~       create_meter
#~       create_name
#~       create_face
#~       create_level
#~       create_hp_number
#~   end
#~     
#~   #--------------------------------------------------------------------------
#~   # ● Create Layout
#~   #--------------------------------------------------------------------------        
#~   def create_layout
#~       return if @layout != nil
#~       @layout = Sprite.new
#~       @layout.bitmap = $game_temp.cache_boss_hp[0]
#~       @layout.x = $game_system.boss_hp_meter[0]
#~       @layout.y = $game_system.boss_hp_meter[1]
#~       @layout.viewport = @hp_vieport
#~       @layout.z = PRIORITY_Z
#~   end
#~   

#lz脚本
  # ● Create Boss HP Meter##########
  #--------------------------------------------------------------------------      
  def create_boss_hp_meter(i, e)
      $game_system.boss_hp_meter[2] = true
      $game_system.boss_hp_meter[3] = e.name
      $game_system.boss_hp_meter[4] = e.hp
      $game_system.boss_hp_meter[5] = e.mhp
      $game_system.boss_hp_meter[6] = e.hp
      $game_system.boss_hp_meter[7] = e.level rescue nil
      $game_system.boss_hp_meter[8] = 0
      $game_system.boss_hp_meter[9] = e.boss_hp_number
      $game_system.boss_hp_meter[10] = e.enemy_id
      refresh_hp_meter(i)
      create_layout(i)
      create_meter(i)
      create_name(i)
      create_face(i)
      create_level(i)
      create_hp_number(i)
  end
   
  #--------------------------------------------------------------------------
  # ● Create Layout##########
  #--------------------------------------------------------------------------        
  def create_layout(i)
      return if @layout != nil
      @layout = Sprite.new
      @layout.bitmap = $game_temp.cache_boss_hp[0]
      @layout.x = $game_system.boss_hp_meter[0]
      @layout.y = $game_system.boss_hp_meter[1] + 32 * i
      @layout.viewport = @hp_vieport
      @layout.z = PRIORITY_Z
  end
无奈自己绘制方面没有研究,即使试着改了改原脚本,
只有刚进入战斗时有效,之后就各种呵呵呵了

看哪位有兴趣,帮楼主帮忙改改吧?
作者: alexncf125    时间: 2020-12-19 12:37
srwjrevenger 发表于 2020-12-19 12:14
1.关于一堆nil
class Game_Enemy < Game_Battler
  attr_accessor :boss_hp_meter

其实是有位群友在群里问,
能不能把MOG BOSS血条由一条改成多条,
我就挑战一下自己的能力来试著修改修改,
结果慘不忍睹啦~~
作者: soulsaga    时间: 2020-12-19 13:01
本帖最后由 soulsaga 于 2020-12-19 13:16 编辑

楼主还是没说有什么BUG..




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