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

Project1

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

关于RTAB中 连击 问题

 关闭 [复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
0 小时
注册时间
2008-7-4
帖子
174
跳转到指定楼层
1
发表于 2008-8-17 22:37:13 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
请问如何设置才能使出连击效果?

"显示部分"脚本如下

  1. #==============================================================================
  2. #RTAB观光游第六站,连击效果+连击数显示 (显示部分)
  3. #==============================================================================
  4. # ▼▲▼ XRXS_BP19. コンボ表示+ヒットボーナス ver.3β ▼▲▼ built 201409
  5. # by 桜雅 在土

  6. #==============================================================================
  7. # □ カスタマイズポイント
  8. #==============================================================================
  9. class XRXS_BP19
  10.   #
  11.   # コンボ持続時間[単位:F](40F が 一秒)
  12.   #
  13.   COMBOHIT_DURATION = 90
  14.   #
  15.   # スキン ファイル名
  16.   #
  17.   SKIN_NUMBER = "SixRice_Number.png"
  18.   SKIN_HIT    = "SixRice_HITS.png"
  19. end
  20. class Game_Battler
  21.   #
  22.   # コンボヒットによるダメージ補正力/ヒット数[単位:%]
  23.   #
  24.   DAMAGE_INCREASE_PER_HIT = 1
  25. end
  26. #==============================================================================
  27. # --- XRXS.ナンバースプライト スキン対応!  ---
  28. #==============================================================================
  29. class NumberSprite
  30.   #--------------------------------------------------------------------------
  31.   # ○ オブジェクト初期化
  32.   #--------------------------------------------------------------------------
  33.   def initialize(skin)
  34.     @skin = skin
  35.     @sprites = []
  36.     @width  = skin.width/10
  37.     @height = skin.height
  38.     set_digit(4) # 基本設定値
  39.     set(0)
  40.   end
  41.   #--------------------------------------------------------------------------
  42.   # ○ 桁の設定
  43.   #--------------------------------------------------------------------------
  44.   def set_digit(digit)
  45.     @sprites.each{|sprite| sprite.dispose}
  46.     @sprites.clear
  47.     digit.times do
  48.       sprite = Sprite.new
  49.       sprite.bitmap = @skin
  50.       sprite.z = 999
  51.       sprite.src_rect.set(0, 0, @width, @height)
  52.       @sprites.push(sprite)
  53.     end
  54.   end
  55.   #--------------------------------------------------------------------------
  56.   # ○ 値の設定
  57.   #--------------------------------------------------------------------------
  58.   def set(number)
  59.     # 例外補正 0.17b更新
  60.     digit = (number ==0) ? 0 : Math.log10(number)
  61.     if digit > @sprites.size
  62.       set_digit(digit)
  63.     end
  64.     # 各桁の適用
  65.     for sprite in @sprites
  66.       sprite.src_rect.x = number%10 * @width
  67.       number /= 10
  68.     end
  69.     # ゼロ表示 上から判定し、一度でも 0 でなければそこから表示
  70.     zero_display = false
  71.     for sprite in @sprites.reverse
  72.       zero_display |= (sprite.src_rect.x != 0)
  73.       sprite.visible = zero_display
  74.     end
  75.   end
  76.   #--------------------------------------------------------------------------
  77.   # ○ 座標などの設定の経由
  78.   #--------------------------------------------------------------------------
  79.   def x=(n)
  80.     @sprites.each{|sprite|
  81.       sprite.x = n
  82.       n -= @width
  83.     }
  84.   end
  85.   def y=(n)
  86.     @sprites.each{|sprite| sprite.y = n }
  87.   end
  88.   def opacity=(n)
  89.     @sprites.each{|sprite| sprite.opacity = n }
  90.   end
  91.   def dispose
  92.     @sprites.each{|sprite| sprite.dispose }
  93.   end
  94. end

  95. #==============================================================================
  96. # □ Window_ComboHit
  97. #------------------------------------------------------------------------------
  98. #     戦闘中にコンボ数を表示する透明なウィンドウです。
  99. #==============================================================================
  100. class Window_ComboHit < Window_Base
  101.   #--------------------------------------------------------------------------
  102.   # ○ オブジェクト初期化
  103.   #--------------------------------------------------------------------------
  104.   def initialize
  105.     @number = NumberSprite.new(RPG::Cache.windowskin(XRXS_BP19::SKIN_NUMBER))
  106.      super(200, 80, 200, 80)
  107.     self.opacity = 0
  108.     self.z = 999
  109.     self.visible = false
  110.     self.contents = RPG::Cache.windowskin(XRXS_BP19::SKIN_HIT).dup
  111.     @active = false
  112.     @show_duration = 0
  113.     @sliding_duration = 0
  114.   end
  115.   #--------------------------------------------------------------------------
  116.   # ○ クリア ほか
  117.   #--------------------------------------------------------------------------
  118.   def clear
  119.     self.visible = false
  120.   end
  121.   def x=(n)
  122.     super
  123.     @number.x = n if @number != nil
  124.   end
  125.   def y=(n)
  126.     super
  127.     @number.y = n if @number != nil
  128.   end
  129.   def contents_opacity=(n)
  130.     super
  131.     @number.opacity = n if @number != nil
  132.   end
  133.   def dispose
  134.     @number.dispose
  135.     super
  136.   end
  137.   #--------------------------------------------------------------------------
  138.   # ○ リフレッシュ
  139.   #--------------------------------------------------------------------------
  140.   def refresh(hit_combo, duration)
  141.     # 可視化
  142.     self.contents_opacity = 255
  143.     self.visible = true
  144.     # 設定
  145.     @show_duration    = duration
  146.     @sliding_duration = 0
  147.     # 描写
  148.     @number.set(hit_combo)
  149.   end
  150.   #--------------------------------------------------------------------------
  151.   # ○ フレーム更新
  152.   #--------------------------------------------------------------------------
  153.   def update
  154.     if @sliding_duration > 0
  155.       @sliding_duration -= 1
  156.       self.contents_opacity -= 32
  157.       self.x += 1
  158.       if @sliding_duration == 0
  159.         self.visible = false
  160.       end
  161.     elsif @show_duration > 0
  162.       @show_duration -= 1
  163.       if @show_duration == 0
  164.         @sliding_duration = 8
  165.       end
  166.     end
  167.   end
  168. end

复制代码



版务信息:本贴由楼主自主结贴~
我们的最高理想是共产主义! 敝人的冷清空间: http://hi.baidu.com/crs_66rpg

Lv1.梦旅人

今、空を見上げ

梦石
0
星屑
50
在线时间
0 小时
注册时间
2007-8-11
帖子
2022
2
发表于 2008-8-17 23:24:11 | 只看该作者
数据库 - 动画里 设置动画的闪烁. 闪烁一次+1HIT

系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
做任何事,都不要为自己找借口。任何事都不存在困难的借口。你只有3个字“做得到”
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
0 小时
注册时间
2008-7-4
帖子
174
3
 楼主| 发表于 2008-8-17 23:31:36 | 只看该作者
是对象还是画面啊?我试过不行
我们的最高理想是共产主义! 敝人的冷清空间: http://hi.baidu.com/crs_66rpg
回复 支持 反对

使用道具 举报

Lv1.梦旅人

今、空を見上げ

梦石
0
星屑
50
在线时间
0 小时
注册时间
2007-8-11
帖子
2022
4
发表于 2008-8-17 23:33:03 | 只看该作者
都一样.
只要动画设置了闪烁 就行了.
不行的话 你上传工程
让大家看看.
做任何事,都不要为自己找借口。任何事都不存在困难的借口。你只有3个字“做得到”
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
0 小时
注册时间
2008-7-4
帖子
174
5
 楼主| 发表于 2008-8-18 00:02:12 | 只看该作者
我们的最高理想是共产主义! 敝人的冷清空间: http://hi.baidu.com/crs_66rpg
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
192 小时
注册时间
2007-7-14
帖子
2746
6
发表于 2008-8-18 01:08:59 | 只看该作者
推荐使用彩虹神剑多伤害判定的脚本插件,它可以在播放动画时根据闪烁帧数来显示伤害,十分好用。
新彩虹神剑——连击蹦血,爽快战斗动画的制作
http://rpg.blue/web/htm/news542.htm
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2025-7-24 10:52

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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