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

Project1

 找回密码
 注册会员
搜索
楼主: 后知后觉
打印 上一主题 下一主题

[RMVA发布] [RMVA]横版战斗模板v1.7 2012-02-09 修正两处重要BUG

  [复制链接]

Lv1.梦旅人

梦石
0
星屑
175
在线时间
100 小时
注册时间
2010-8-13
帖子
24
341
发表于 2012-9-20 16:29:06 | 只看该作者
kankan正需要一个
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
205
在线时间
5 小时
注册时间
2012-9-14
帖子
1
342
发表于 2012-9-23 18:33:20 | 只看该作者
新手啊!~表示很难得说!~慢慢学吧
回复 支持 反对

使用道具 举报

Lv3.寻梦者

虚空人形

梦石
0
星屑
4604
在线时间
2037 小时
注册时间
2011-8-11
帖子
3398

贵宾

343
发表于 2012-9-23 21:51:14 | 只看该作者
@后知后觉,在这里提一个问:
在使用自身+敌人的动画进行普通攻击时,如果两人不在一条水平线上显示就会出bug,
但使用真位移
的话貌似只是角色平移过去,在攻击前没有动画(本来打算使真位移和待机、死亡有单独的一套图片),我想应该是在以下地方修改:
  1. #==============================================================================
  2. # ■ Game_Battler
  3. #==============================================================================
  4. class Game_Battler < Game_BattlerBase
  5.   def set_normal_battler_name
  6.     @battler_name = @battler_name.split(/★/)[0]
  7.   end
  8.   def set_beaten_battler_name
  9.     if guard?
  10.       if (UseActorGuardGraphic && actor?) or
  11.          (UseEnemyGuardGraphic && enemy?)
  12.         set_guard_battler_name
  13.         return
  14.       end
  15.     end
  16.     @battler_name = @battler_name.split(/★/)[0] + "★1"
  17.     if UseActorWBSE && actor?
  18.       Audio.se_play("Audio/SE/AWBSE_#{id}", 100, 100)
  19.     elsif UseEnemyWBSE && enemy?
  20.       Audio.se_play("Audio/SE/EWBSE_#{enemy_id}", 100, 100)
  21.     end
  22.   end
  23.   def set_dead_battler_name
  24.     @battler_name = @battler_name.split(/★/)[0] + "★2"
  25.   end
  26.   def set_guard_battler_name
  27.     @battler_name = @battler_name.split(/★/)[0] + "★3"
  28.     if UseActorGDSE && actor?
  29.       Audio.se_play("Audio/SE/AGDSE_#{id}", 100, 100)
  30.     elsif UseEnemyGDSE && enemy?
  31.       Audio.se_play("Audio/SE/EGDSE_#{enemy_id}", 100, 100)
  32.     end
  33.   end
  34. end
  35. #==============================================================================
  36. # ■ Sprite_Battler
  37. #==============================================================================
  38. class Sprite_Battler < Sprite_Base
  39.   #--------------------------------------------------------------------------
  40.   # ● 初始化(追加定义)
  41.   #--------------------------------------------------------------------------
  42.   alias hzhj_old_init_for_dead_spr_battler initialize
  43.   def initialize(viewport, battler = nil)
  44.     hzhj_old_init_for_dead_spr_battler(viewport, battler)
  45.     @dead_graphic_used = false
  46.     if @battler
  47.       @battler.set_normal_battler_name
  48.       if @battler.dead?
  49.         if (UseActorDeadGraphic && @battler.actor?) or
  50.            (UseEnemyDeadGraphic && @battler.enemy?)
  51.           @battler.set_dead_battler_name
  52.           @dead_graphic_used = true
  53.         end
  54.       end
  55.     end
  56.     @beaten_duration = -1
  57.   end
  58.   #--------------------------------------------------------------------------
  59.   # ● 设置战斗者(追加定义)
  60.   #--------------------------------------------------------------------------
  61.   alias hzhj_old_set_battler_for_dead_spr_battler battler=
  62.   def battler=(value)
  63.     if @battler != value
  64.       @dead_graphic_used = false
  65.       if value
  66.         value.set_normal_battler_name
  67.         if value.dead?
  68.           if (UseActorDeadGraphic && value.actor?) or
  69.              (UseEnemyDeadGraphic && value.enemy?)
  70.             value.set_dead_battler_name
  71.             @dead_graphic_used = true
  72.           end
  73.         end
  74.       end
  75.       @beaten_duration = -1
  76.     end
  77.     hzhj_old_set_battler_for_dead_spr_battler(value)
  78.   end
  79.   #--------------------------------------------------------------------------
  80.   # ● 源位图(Source Bitmap)的更新(重定义)
  81.   #--------------------------------------------------------------------------
  82.   alias hzhj_old_update_bitmap_for_was_beaten_spr_battler update_bitmap
  83.   def update_bitmap
  84.     if @beaten_duration > 0
  85.       @beaten_duration -= 1
  86.     elsif @beaten_duration == 0
  87.       @beaten_duration = -1
  88.       set_bitmap(:normal)
  89.     end
  90.     hzhj_old_update_bitmap_for_was_beaten_spr_battler
  91.   end
  92.   #--------------------------------------------------------------------------
  93.   # ● 初始化可视状态(追加定义)
  94.   #--------------------------------------------------------------------------
  95.   alias hzhj_old_visibility_for_dead_spr_battler init_visibility
  96.   def init_visibility
  97.     hzhj_old_visibility_for_dead_spr_battler
  98.     if @battler.dead?
  99.       if (UseActorDeadGraphic && @battler.actor?) or
  100.          (UseEnemyDeadGraphic && @battler.enemy?)
  101.         self.opacity = 255
  102.       end
  103.     end
  104.   end
  105.   #--------------------------------------------------------------------------
  106.   # ● 效果开始(追加定义)
  107.   #--------------------------------------------------------------------------
  108.   alias hzhj_old_start_effect_for_dead_spr_battler start_effect
  109.   def start_effect(effect_type)
  110.     if effect_type == :appear
  111.       if @dead_graphic_used
  112.         set_bitmap(:normal)
  113.         @effect_type = nil
  114.         @effect_duration = 0
  115.         @dead_graphic_used = false
  116.         @battler_visible = true
  117.         return
  118.       end
  119.     elsif effect_type == :collapse or
  120.           effect_type == :boss_collapse or
  121.           effect_type == :instant_collapse
  122.       if @beaten_duration >= 0
  123.         @beaten_duration = -1
  124.         set_bitmap(:normal)
  125.       end
  126.       if (UseActorDeadGraphic && @battler.actor?) or
  127.          (UseEnemyDeadGraphic && @battler.enemy?)
  128.         set_bitmap(:dead)
  129.         @effect_type = nil
  130.         @effect_duration = 0
  131.         @dead_graphic_used = true
  132.         @battler_visible = false
  133.         return
  134.       end
  135.     end
  136.     hzhj_old_start_effect_for_dead_spr_battler(effect_type)
  137.   end
  138.   #--------------------------------------------------------------------------
  139.   # ● 设置新的位图(新增定义)
  140.   #--------------------------------------------------------------------------
  141.   def set_bitmap(sym)
  142.     case sym
  143.     when :normal
  144.       @battler.set_normal_battler_name
  145.     when :was_beaten
  146.       @battler.set_beaten_battler_name
  147.     when :dead
  148.       @battler.set_dead_battler_name
  149.     else
  150.       return
  151.     end
  152.     new_bitmap = Cache.battler(@battler.battler_name, @battler.battler_hue)
  153.     if bitmap != new_bitmap
  154.       self.bitmap = new_bitmap
  155.       @dynamic_duration = 0
  156.       @sx = 0
  157.       @sw = bitmap.width / DynamicPatternMax
  158.       @sh = bitmap.height
  159.       self.ox = @sw / 2
  160.       self.oy = @sh
  161.       src_rect.set(@sx, 0, @sw, @sh)
  162.     end
  163.     update_origin
  164.     update_position
  165.   end
  166. end
复制代码
本来是想照其他图的相应脚本的格式穿插的,不过好像不行,请问该情况如何解决?
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
2 小时
注册时间
2012-8-17
帖子
5
344
发表于 2012-9-24 08:41:40 | 只看该作者
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
6855
在线时间
1666 小时
注册时间
2008-10-29
帖子
6710

贵宾

345
 楼主| 发表于 2012-9-24 08:43:00 | 只看该作者
本帖最后由 后知后觉 于 2012-9-24 08:45 编辑
hcm 发表于 2012-9-23 21:51
@后知后觉,在这里提一个问:
在使用自身+敌人的动画进行普通攻击时,如果两人不在一条水平线上显示就会出b ...


这些图片的更换都是一发性的
而真位移却是实时监控的.
要让真位移的时候更换图片.在现在的这个结构下就只有在监控的地方判断.
判断当前是否在移动.
如果是在移动而不是跑步图片的话就换成跑步图片.
如果没有在移动而却正是跑步图片的话就换成正常的图片.
修改的地方应该是在 移动图片的地方  self.x = xxx   self.y = xxx 那里
当初做的时候只是想用很快的速度闪过去.就没有做可以换图片的功能= =

点评

hcm
问题还是解决不了,我还是先尝试在数据库-动画解决试试吧。  发表于 2012-9-24 19:19











你知道得太多了

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
1019 小时
注册时间
2012-4-25
帖子
799
346
发表于 2012-9-24 11:27:47 | 只看该作者
@后知后觉
我在看其他横版的时候,有些技能动画播放时可以暂时将自己这边的角色全部暂时消失,场上只剩下对方的,在你的横版上能实现吗?

点评

可以  发表于 2012-9-25 20:02

评分

参与人数 1星屑 +132 收起 理由
hcm + 132 感谢回答

查看全部评分

回复 支持 反对

使用道具 举报

Lv3.寻梦者

虚空人形

梦石
0
星屑
4604
在线时间
2037 小时
注册时间
2011-8-11
帖子
3398

贵宾

347
发表于 2012-9-25 07:56:08 | 只看该作者
本帖最后由 hcm 于 2012-9-25 08:05 编辑

使用时出现了角色身上爆出的数字和实际伤害明显不符的状况(下图的实际伤害加起来只有2000多,我设定的也是2000,若换成巨浪RMVA的动画显示伤害减半),
是和动画本身有关吗?我只加了战斗脸图和战斗中整队的脚本,该动画使用了两个DamageSection。

无标题.png (289.89 KB, 下载次数: 0)

无标题.png

点评

hcm
哦,这样啊,谢谢。  发表于 2012-9-25 12:38
百分比  发表于 2012-9-25 11:50
红色的数值就是伤害百分百,比如100,显示的就是实际伤害,估计你那里的红色数值是255吧。  发表于 2012-9-25 11:50
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
1019 小时
注册时间
2012-4-25
帖子
799
348
发表于 2012-9-25 20:40:11 | 只看该作者
那该怎么做?
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
27 小时
注册时间
2012-8-21
帖子
22
349
发表于 2012-9-26 20:04:02 | 只看该作者
这系统 太不错了
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
35 小时
注册时间
2011-7-4
帖子
35
350
发表于 2012-9-27 20:12:17 | 只看该作者
QAQ新人不会用
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-16 06:15

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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