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

Project1

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

[已经过期] 如何自定义战斗动画

[复制链接]

Lv1.梦旅人

梦石
0
星屑
96
在线时间
81 小时
注册时间
2015-6-30
帖子
48
跳转到指定楼层
1
发表于 2015-7-27 19:57:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
这是VX幻与梦的边缘使用的脚本,上面对Sprite_Battler做了更改,使用文件夹下的图片作为战斗图片。
  1. #==============================================================================
  2. # ■ Sprite_Battler
  3. #------------------------------------------------------------------------------
  4. #  战斗显示用活动块。Game_Battler 类的实例监视、
  5. # 活动块的状态的监视。
  6. #==============================================================================

  7. class Sprite_Battler < Sprite_Base
  8.   #--------------------------------------------------------------------------
  9.   # ● 定量
  10.   #--------------------------------------------------------------------------
  11.   WHITEN    = 1                      # 白色闪光 (行动开始)
  12.   BLINK     = 2                      # 闪烁 (伤害)
  13.   APPEAR    = 3                      # 出现 (出现、复活)
  14.   DISAPPEAR = 4                      # 消失 (逃走)
  15.   COLLAPSE  = 5                      # 崩坏 (战斗不能)
  16.   #--------------------------------------------------------------------------
  17.   # ● 定义实例变量
  18.   #--------------------------------------------------------------------------
  19.   attr_accessor :battler
  20.   #--------------------------------------------------------------------------
  21.   # ● 初始化对像
  22.   #     viewport : 视口
  23.   #     battler  : 战斗者 (Game_Battler)
  24.   #--------------------------------------------------------------------------
  25.   def initialize(viewport, battler = nil)
  26.     super(viewport)

  27.     @battler = battler
  28.     @battler_visible = false
  29.     @effect_type = 0            # 效果种类
  30.     @effect_duration = 0        # 效果剩余时间
  31.     @nx = 0                     # 当前的帧数
  32.     @xbit = 0                   # 当前的图像
  33.    
  34.     @collapse_duration = 0
  35.   end
  36.   #--------------------------------------------------------------------------
  37.   # ● 释放
  38.   #--------------------------------------------------------------------------
  39.   def dispose
  40.     if self.bitmap != nil
  41.       self.bitmap.dispose
  42.     end
  43.     super
  44.   end
  45.   #--------------------------------------------------------------------------
  46.   # ● 刷新画面
  47.   #--------------------------------------------------------------------------
  48.   def update
  49.     super
  50.     if @battler == nil
  51.       self.bitmap = nil
  52.     else
  53.       @use_sprite = @battler.use_sprite?
  54.       if @use_sprite
  55.         self.x = @battler.screen_x
  56.         self.y = @battler.screen_y
  57.         self.z = @battler.screen_z
  58.         update_battler_bitmap
  59.       end
  60.       setup_new_effect
  61.       update_effect
  62.       
  63.      if @battler.damage_pop
  64.         damage(@battler.hp_damage, @battler.critical , true)
  65.         @battler.critical = false
  66.         @battler.damage_pop = false
  67.       end
  68.       
  69.       
  70.     if @battler.state?(2)
  71.       self.tone.set(0,128,0,64)
  72.     else
  73.       self.tone.set(0,0,0,0)
  74.     end  
  75.    
  76.    
  77.     if @flash_shake_switch == true
  78.      self.x = @battler.screen_x
  79.      self.y = @battler.screen_y
  80.      self.z = @battler.screen_z
  81.      @flash_shake_switch = false
  82.    end
  83.      if @flash_shake != 0 and @battler.hp_damage != nil
  84.       case @flash_shake % 4
  85.       when 3
  86.        self.x = @battler.screen_x - 4
  87.       when 2
  88.        self.x = @battler.screen_x + 8
  89.       when 1
  90.        self.x = @battler.screen_x
  91.       end
  92.      @flash_shake -= 1
  93.     elsif @flash_shake == 0
  94.     self.x = @battler.screen_x
  95.     end
  96.    end
  97.   end
  98.   #--------------------------------------------------------------------------
  99.   # ● 刷新传送的位图数据
  100.   #--------------------------------------------------------------------------
  101.   def update_battler_bitmap
  102.     if @battler.battler_name != @battler_name or
  103.        @battler.battler_hue != @battler_hue
  104.       return if @collapse_duration > 0
  105.       @battler_name = @battler.battler_name
  106.       @battler_hue = @battler.battler_hue
  107.       self.bitmap = Cache.battler(@battler_name, @battler_hue)
  108.       @width = bitmap.width
  109.       @height = bitmap.height
  110.     # self.ox = @width / 2
  111.       case @battler.show_type
  112.       when 0
  113.       @nx = @xbit = 0
  114.       when 1 #挨打
  115.       @nx = 11
  116.       when 2 #防御
  117.       @nx = 11     
  118.       when 3 #胜利
  119.       @nx = 11  
  120.       when 4 #施法
  121.       @nx = 11   
  122.       when 5 #攻击
  123.       @nx = @xbit = 0      
  124.       end
  125.       self.oy = @height
  126.       if  @battler.hidden # or @battler.dead?
  127.         self.opacity = 0
  128.       end
  129.     end
  130.       
  131.       if @battler.show_type == 1 and @nx == @battler.frame * 10 - 1
  132.       @battler.stand_act
  133.       else
  134.         @nx += 1 unless @collapse_duration > 0
  135.       end

  136.       case @battler.show_type
  137.        when 0
  138.        @nx %= @battler.frame * 8
  139.        @xbit = @nx / 8 * self.bitmap.width / @battler.frame
  140.        self.src_rect.set(@xbit, 0, self.bitmap.width / @battler.frame, self.bitmap.height)
  141.        when 1
  142.         a = @battler.id == 1 ? 1 : 0
  143.         @battler.stand_act if @nx == @battler.frame * 8 - a
  144.         @xbit = @nx / 10 * self.bitmap.width / @battler.frame
  145.         self.src_rect.set(@xbit, 0, self.bitmap.width / @battler.frame, self.bitmap.height)
  146.        when 2
  147.         @xbit = self.bitmap.width / @battler.frame
  148.         if @nx % 10 == 4
  149.         @battler.screen_x += 2
  150.         elsif @nx % 10 == 9
  151.         @battler.screen_x -= 2
  152.         end
  153.         self.src_rect.set(@xbit, 0, self.bitmap.width / @battler.frame, self.bitmap.height)
  154.         @battler.stand_act if @nx == 40
  155.         when 3
  156.         @xbit = @nx / 10 * self.bitmap.width / @battler.frame unless @nx >( @battler.frame * 10 - 1)  
  157.         self.src_rect.set(@xbit, 0, self.bitmap.width / @battler.frame, self.bitmap.height)
  158.         when 4
  159.         if @nx < ((@battler.frame - 2) * 10 - 1)
  160.         @xbit = @nx / 10 * self.bitmap.width / @battler.frame
  161.         else
  162.         @xbit = ((@nx / 5 )% 2 + (@battler.frame - 2)) * self.bitmap.width / @battler.frame
  163.         end
  164.         self.src_rect.set(@xbit, 0, self.bitmap.width / @battler.frame, self.bitmap.height)
  165.         when 5
  166.         if @nx == @battler.frame * 8 - 1
  167.           if @battler.battler_name.split(/_/)[1] != "b2"
  168.              @battler.stand_act
  169.           else
  170.              @battler.frame = 1 ; @nx = @xbit = 0
  171.           end
  172.         end
  173.         @xbit = @nx / 8 * self.bitmap.width / @battler.frame
  174.         self.src_rect.set(@xbit, 0, self.bitmap.width / @battler.frame, self.bitmap.height)        
  175.         end  
  176. end  
  177.    
  178.   #--------------------------------------------------------------------------
  179.   # ● 设置新效果
  180.   #--------------------------------------------------------------------------
  181.   def setup_new_effect
  182.     if @battler.white_flash
  183.       @effect_type = WHITEN
  184.       @effect_duration = 16
  185.       @battler.white_flash = false
  186.     end
  187.     if @battler.blink
  188.       @effect_type = BLINK
  189.       @effect_duration = 20
  190.       @battler.blink = false
  191.     end
  192.     if not @battler_visible and @battler.exist?
  193.       @effect_type = APPEAR
  194.       @effect_duration = 16
  195.       @battler_visible = true
  196.     end
  197.     if @battler_visible and @battler.hidden
  198.       @effect_type = DISAPPEAR
  199.       @effect_duration = 32
  200.       @battler_visible = false
  201.     end
  202.     if @battler.collapse
  203.       @effect_type = COLLAPSE
  204.       @effect_duration = 48
  205.       @collapse_duration = 48
  206.       @battler.collapse = false
  207.       @battler_visible = false

  208. #~       死法之1:升天
  209. #~       @coll.dispose if @coll != nil
  210. #~       @coll = Sprite.new
  211. #~       @coll.bitmap = Bitmap.new("Graphics/Battlers/#{@battler_name}")
  212. #~       @coll.src_rect.set(0, 0, self.bitmap.width / DB::Enemies[@battler.original_name]["待机帧数"], self.bitmap.height)
  213. #~       @coll.ox = self.ox
  214. #~       @coll.oy = self.oy
  215. #~       @coll.opacity = 100
  216. #~       @coll.z = 0
  217. #~       @coll.blend_type = 1
  218. #~       @coll.x = self.x
  219. #~       @coll.y = self.y
  220.       
  221. #~       死法之2:两半
  222. #~       self.visible = false
  223. #~       @coll.dispose if @coll != nil
  224. #~       @coll = Sprite.new
  225. #~       @coll.bitmap = Bitmap.new("Graphics/Battlers/#{@battler_name}")
  226. #~       @coll.src_rect.set(0, 0, self.bitmap.width / DB::Enemies[@battler.original_name]["待机帧数"], self.bitmap.height)
  227. #~       @coll.ox = self.ox
  228. #~       @coll.oy = self.oy
  229. #~       @coll.opacity = 100
  230. #~       @coll.z = 0
  231. #~       w = @coll.bitmap.width / DB::Enemies[@battler.original_name]["待机帧数"]
  232. #~       h = @coll.bitmap.height
  233. #~       @coll.x = self.x
  234. #~       @coll.y = self.y + h/2
  235. #~       @coll.src_rect = Rect.new(0,h/2,w,h)
  236. #~       @collq.dispose if @collq != nil
  237. #~       @collq = Sprite.new
  238. #~       @collq.bitmap = Bitmap.new("Graphics/Battlers/#{@battler_name}")
  239. #~       @collq.src_rect.set(0, 0, self.bitmap.width / DB::Enemies[@battler.original_name]["待机帧数"], self.bitmap.height)
  240. #~       @collq.ox = self.ox
  241. #~       @collq.oy = self.oy
  242. #~       @collq.opacity = 255
  243. #~       @collq.z = 0
  244. #~       @collq.x = self.x
  245. #~       @collq.y = self.y
  246. #~       @collq.src_rect = Rect.new(0,0,w,h/2)

  247. #~          死法之3:波形
  248.          self.wave_amp = 6
  249.          self.wave_length = 120
  250.          self.wave_speed = 960
  251.       
  252.     end
  253.    
  254.     if @battler.animation_id != 0
  255.       animation = $data_animations[@battler.animation_id]
  256.       mirror = @battler.animation_mirror
  257.       start_animation(animation, mirror ,$scene.active_battler )
  258.       @battler.animation_id = 0
  259.     end
  260.   end
  261.   #--------------------------------------------------------------------------
  262.   # ● 刷新效果
  263.   #--------------------------------------------------------------------------
  264.   def update_effect
  265.     @collapse_duration -= 1 if @collapse_duration > 0
  266.     if @effect_duration > 0
  267.       @effect_duration -= 1
  268.       case @effect_type
  269.       when WHITEN
  270.         update_whiten
  271.       when BLINK
  272.         update_blink
  273.       when APPEAR
  274.         update_appear
  275.       when DISAPPEAR
  276.         update_disappear
  277.       when COLLAPSE
  278.         update_collapse
  279.       end
  280.     end
  281.   end
  282.   #--------------------------------------------------------------------------
  283.   # ● 刷新白色闪光效果
  284.   #--------------------------------------------------------------------------
  285.   def update_whiten
  286.     self.blend_type = 0
  287.     self.color.set(255, 255, 255, 128)
  288.     self.opacity = 255
  289.     self.color.alpha = 128 - (16 - @effect_duration) * 10
  290.   end
  291.   #--------------------------------------------------------------------------
  292.   # ● 刷新闪烁效果
  293.   #--------------------------------------------------------------------------
  294.   def update_blink
  295.     self.blend_type = 0
  296.     self.color.set(0, 0, 0, 0)
  297.     self.opacity = 255
  298.     self.visible = (@effect_duration % 10 < 5)
  299.   end
  300.   #--------------------------------------------------------------------------
  301.   # ● 刷新出现效果
  302.   #--------------------------------------------------------------------------
  303.   def update_appear
  304.     self.blend_type = 0
  305.     self.color.set(0, 0, 0, 0)
  306.     self.opacity = (16 - @effect_duration) * 16
  307.   end
  308.   #--------------------------------------------------------------------------
  309.   # ● 刷新消失效果
  310.   #--------------------------------------------------------------------------
  311.   def update_disappear
  312.     self.blend_type = 0
  313.     self.color.set(0, 0, 0, 0)
  314.     self.opacity = 256 - (32 - @effect_duration) * 10
  315.   end
  316.   #--------------------------------------------------------------------------
  317.   # ● 刷新崩坏效果
  318.   #--------------------------------------------------------------------------
  319.   def update_collapse
  320. #~     self.blend_type = 1
  321.     self.color.set(255, 128, 128, 128)
  322.     self.opacity = 256 - (48 - @effect_duration) * 6
  323.    
  324.    
  325. #~    @coll.y = self.y - (48 - @collapse_duration) * 6
  326. #~    self.opacity = 256 - (48 - @collapse_duration) * 6
  327. #~    @coll.dispose if @collapse_duration == 0

  328. #~     @coll.x = self.x + (48 - @collapse_duration) * 16
  329. #~     @collq.x = self.x - (48 - @collapse_duration) * 16
  330. #~     @coll.opacity = 256 - (48 - @collapse_duration) * 16
  331. #~     @collq.opacity = 256 - (48 - @collapse_duration) * 16
  332. #~     @coll.dispose if @collapse_duration == 0


  333.   end
  334.   

  335.   #--------------------------------------------------------------------------
  336.   # ● 刷新动画
  337.   #--------------------------------------------------------------------------
  338.   def update_animation

  339.     if @animation_duration > 0
  340.       frame_index = @animation.frame_max - (@animation_duration + 3) / 4
  341.       if @animation.id == 90 and frame_index == 7
  342.       $scene.active_battler.screen_x -= 70
  343.       $scene.active_battler.screen_y += 16
  344.       end
  345.       animation_set_sprites(@animation.frames[frame_index])
  346.          
  347.         for timing in @animation.timings
  348.         if timing.flash_scope == 1 and timing.frame == frame_index
  349.         t = 1.000 * quanzhong(timing) / @all_quanzhong
  350.         t *= 2 if $scene.active_battler.heavy_attack unless $scene.active_battler.nil?
  351.         f = false
  352.         for i in @animation.timings
  353.           next if i.flash_scope != 1
  354.           f = true if timing == i
  355.           break
  356.         end
  357.         case @active_battler.action.kind
  358.         when 0
  359.         @battler.attack_effect(@active_battler,f,t)
  360.         when 1
  361.         @battler.skill_effect(@active_battler, @active_battler.action.skill ,f,t)
  362.         when 2
  363.         @battler.item_effect(@active_battler, @active_battler.action.item ,f,t)
  364.         end
  365.         @damage_string = @battler.hp_damage
  366.         @damage_string2 = @battler.mp_damage
  367.        if @battler.missed
  368.         @damage_string = "未中"
  369.         @battler.guard_act
  370.         @battler.missed = false
  371.        end  
  372.        if @battler.evaded  
  373.        @damage_string = "闪避"
  374.         @battler.guard_act
  375.         @battler.evaded = false
  376.        end  

  377.     if [email protected] and [email protected] and @battler.hp_damage > 0
  378.       if @battler.guarding?
  379.         @battler.guard_act
  380.       else
  381.         if @damage_string.is_a?(Numeric) and @battler.hp_damage > 0
  382.         @flash_shake_switch = true
  383.         @flash_shake = 12
  384.         end
  385.         @battler.hurt_act
  386.        end
  387.      end
  388.      damage(@damage_string,@battler.critical,timing == @animation.timings[0])
  389.      if @battler.mp_damage != 0
  390.      damage(@damage_string2,@battler.critical,timing == @animation.timings[0],1)
  391.      end  
  392.      end

  393.         if timing.frame == frame_index
  394.           animation_process_timing(timing)
  395.                      
  396.         end
  397.       end
  398.   
  399.     else
  400.       dispose_animation
  401.     end
  402.   end
  403.   
  404.   #--------------------------------------------------------------------------
  405.   # ●  权重计算  
  406.   #     timing : Timing数据 (RPG::Animation::Timing)
  407.   #--------------------------------------------------------------------------
  408.   def quanzhong(timing)
  409.     return timing.flash_scope == 1 ? timing.flash_color.alpha * timing.flash_duration : 0
  410.   end
  411.   
  412.   
  413.   
  414.   #--------------------------------------------------------------------------
  415.   # ● 开始动画
  416.   #--------------------------------------------------------------------------
  417.   def start_animation(animation, mirror = false, active_battler = nil )
  418.     @active_battler = active_battler
  419.     dispose_animation
  420.     @animation = animation
  421.     return if @animation == nil
  422.     @animation_mirror = mirror
  423.     @animation_duration = @animation.frame_max * 4 + 1
  424.     @all_quanzhong = 1

  425.     for timing in @animation.timings
  426.       @all_quanzhong += quanzhong(timing)
  427.     end  
  428.       
  429.     load_animation_bitmap
  430.     @animation_sprites = []
  431.     if @animation.position != 3 or not @@animations.include?(animation)
  432.       if @use_sprite
  433.         for i in 0..15
  434.           sprite = ::Sprite.new(viewport)
  435.           sprite.visible = false
  436.           @animation_sprites.push(sprite)
  437.         end
  438.         unless @@animations.include?(animation)
  439.           @@animations.push(animation)
  440.         end
  441.       end
  442.     end
  443.     if @animation.position == 3
  444.       if viewport == nil
  445.         @animation_ox = 544 / 2
  446.         @animation_oy = 416 / 2
  447.       else
  448.         @animation_ox = viewport.rect.width / 2
  449.         @animation_oy = viewport.rect.height / 2
  450.       end
  451.     else
  452.       @animation_ox = x - ox + width / 2
  453.       @animation_oy = y - oy + height / 2
  454.       if @animation.position == 0
  455.         @animation_oy -= height / 2
  456.       elsif @animation.position == 2
  457.         @animation_oy += height / 2
  458.       end
  459.     end
  460.   end
  461.   
  462.   
  463.   #--------------------------------------------------------------------------
  464.   # ●  damage 伤害弹出
  465.   #--------------------------------------------------------------------------  
  466.   def damage(value, critical,first_timing,type = 0)
  467.     dispose_damage if first_timing
  468.     if !$scene.active_battler.nil?
  469.     return if $scene.active_battler.action.kind == 2 and value == 0
  470.     end
  471.       if value.is_a?(Numeric)
  472.         damage_string = value.abs.to_s
  473.       else
  474.         damage_string = value.to_s
  475.       end
  476.       bitmap = Bitmap.new(65, 42)
  477.       bitmap.font.name = "黑体"
  478.       bitmap.font.size = 20

  479.       if value.is_a?(Numeric)
  480.         damage_array = damage_string.scan(/./)
  481.         damage_x = 32.5 - damage_string.size * 6.5
  482.         if value < 0
  483.           rect_y = 21
  484.         else
  485.           rect_y = 0
  486.         end
  487.         for char in damage_array
  488.           number = char.to_i
  489.           case type
  490.           when 0
  491.           bitmap.blt(damage_x, 21, Cache.picture("Damage"),
  492.           Rect.new(number * 13, rect_y, 13, 21))
  493.           when 1
  494.           bitmap.blt(damage_x, 21, Cache.picture("Damage1"),
  495.           Rect.new(number * 13, rect_y, 13, 21))
  496.           end
  497.           damage_x += 13
  498.         end  
  499.       if critical
  500.         bitmap.blt(11, 0, Cache.picture("Damage"), Rect.new(87, 42, 43, 21))
  501.       end      
  502.       else
  503.         case value
  504.         when "未中"
  505.           bitmap.blt(11, 21, Cache.picture("Damage"), Rect.new(0, 42, 43, 21))      
  506.           Audio.se_play("Audio/SE/Evasion.ogg") unless @battler.actor?
  507.         when "闪避"
  508.           bitmap.blt(11, 21, Cache.picture("Damage"), Rect.new(43, 42, 43, 21))
  509.           Audio.se_play("Audio/SE/Evasion.ogg") unless @battler.actor?
  510.         else  
  511.           bitmap.font.color.set(255, 255, 255)
  512.           bitmap.draw_text(0, 28, 162, 36, damage_string, 1)              
  513.         end         
  514.       end

  515.         
  516.       @_damage_sprite = ::Sprite.new(self.viewport)
  517.       @_damage_sprite.bitmap = bitmap
  518.       @_damage_sprite.ox = 32
  519.       @_damage_sprite.oy = 21
  520.       
  521.       
  522.       if self.battler.actor?
  523.       @_damage_sprite.x = self.x + DB::Actors[self.battler.original_name]["伤距修正"]
  524.       else
  525.       @_damage_sprite.x = self.x + DB::Enemies[self.battler.original_name]["伤距修正"]
  526.       end  
  527.       @_damage_sprite.y = self.y - self.oy / 2
  528.       @_damage_sprite.z = 3000
  529.       @_damage_duration = 40
  530.       
  531.       #=======================================
  532.       # 修改:推入新的伤害
  533.       #=======================================
  534.       @_damage.push([@_damage_sprite,@_damage_duration-10,0, rand(30) - 15, rand(3)])

  535.   end  
  536.   
  537.   #--------------------------------------------------------------------------
  538.   # ●  SE 与闪烁的时机处理  
  539.   #     timing : Timing数据 (RPG::Animation::Timing)
  540.   #--------------------------------------------------------------------------
  541.   def animation_process_timing(timing)
  542.     timing.se.play if timing.flash_scope != 1 or @damage_string.is_a?(Numeric)
  543.     case timing.flash_scope
  544.     when 1
  545.       if [email protected] and [email protected] and @battler.hp_damage > 0
  546.       self.flash(timing.flash_color, timing.flash_duration * 4)   
  547.       end
  548.     when 2
  549.       if viewport != nil
  550.         viewport.flash(timing.flash_color, timing.flash_duration * 4)
  551.       end
  552.     when 3
  553.       self.flash(nil, timing.flash_duration * 4)
  554.     end
  555.   end
  556.   
  557.   
  558.   
  559.   
  560. end
复制代码
还有这个数据库用来定义每个动画的帧数
  1. module DB
  2. #待机帧数,待机图片宽度,攻击帧数,前进帧数,施法帧数,道具帧数,胜利帧数,
  3. #升级帧数,挨打帧数,虚弱帧数,重攻击帧数,攻击等待,重攻击等待
  4. #伤距修正 = 待机宽度 / 待机帧数 / 2
  5. #攻距修正 约 攻击宽度 / 攻击帧数 / 3
  6. Enemies = {
  7. "麦尔斯" => {"待机帧数"=> 18, "攻击帧数"=>  7, "施法帧数"=>  7,
  8.               "攻击等待"=> 24, "施法类型"=>  4, "伤距修正"=> 68,
  9.               "攻距修正"=> 95, "攻击动画"=> 81},
  10.   "黏怪"  => {"待机帧数"=>  4, "攻击帧数"=>  8, "施法帧数"=>  8,
  11.               "攻击等待"=> 24, "施法类型"=>  4, "伤距修正"=> 57,
  12.               "攻距修正"=> 33, "攻击动画"=>151},
  13. "隐翅虫"=>  {"待机帧数"=>  8, "攻击帧数"=>  8, "施法帧数"=>  8,
  14.               "攻击等待"=> 28, "施法类型"=>  3, "伤距修正"=> 49,
  15.               "攻距修正"=> 10, "攻击动画"=>154},  
  16. "毒蜘蛛"=>  {"待机帧数"=>  8, "攻击帧数"=>  7, "施法帧数"=>  0,
  17.               "攻击等待"=> 24, "施法类型"=>  0, "伤距修正"=> 80,
  18.               "攻距修正"=>  0, "攻击动画"=>155},  
  19. "熊"=>      {"待机帧数"=>  5, "攻击帧数"=>  5, "施法帧数"=>  7,
  20.               "攻击等待"=> 36, "施法类型"=>  4, "伤距修正"=> 80,
  21.               "攻距修正"=> 70, "攻击动画"=>156},
  22. "蝙蝠"=>    {"待机帧数"=>  4, "攻击帧数"=>  8, "施法帧数"=>  8,
  23.               "攻击等待"=> 48, "施法类型"=>  4, "伤距修正"=> 80,
  24.               "攻距修正"=> 33, "攻击动画"=>152},
  25. "僵尸"=>    {"待机帧数"=>  4, "攻击帧数"=>  8, "施法帧数"=>  0,
  26.               "攻击等待"=> 24, "施法类型"=>  0, "伤距修正"=> 72,
  27.               "攻距修正"=> 50, "攻击动画"=>157},
  28. "侏儒"=>    {"待机帧数"=>  4, "攻击帧数"=>  6, "施法帧数"=>  0,
  29.               "攻击等待"=> 24, "施法类型"=>  0, "伤距修正"=> 66,
  30.               "攻距修正"=> 20, "攻击动画"=>152},
  31. "水鬼"=>    {"待机帧数"=>  6, "攻击帧数"=>  6, "施法帧数"=>  0,
  32.               "攻击等待"=> 24, "施法类型"=>  0, "伤距修正"=> 50,
  33.               "攻距修正"=> 20, "攻击动画"=>158},  
  34. "野猴"=>    {"待机帧数"=>  6, "攻击帧数"=> 10, "施法帧数"=>  8,
  35.               "攻击等待"=> 32, "施法类型"=>  4, "伤距修正"=> 72,
  36.               "攻距修正"=> 80, "攻击动画"=>153},
  37. "巨蛾"=>    {"待机帧数"=>  6, "攻击帧数"=>  6, "施法帧数"=>  0,
  38.               "攻击等待"=> 24, "施法类型"=>  0, "伤距修正"=> 72,
  39.               "攻距修正"=> 20, "攻击动画"=>159},  
  40. "恐惧之王"=>{"待机帧数"=> 10, "攻击帧数"=>  6, "施法帧数"=>  8,
  41.               "攻击等待"=> 24, "施法类型"=>  4, "伤距修正"=> 88,
  42.               "攻距修正"=>  0, "攻击动画"=>160},
  43. "蝎子"=>    {"待机帧数"=>  6, "攻击帧数"=>  8, "施法帧数"=>  5,
  44.               "攻击等待"=> 16, "施法类型"=>  3, "伤距修正"=> 50,
  45.               "攻距修正"=> 33, "攻击动画"=>161},
  46. "蜈蚣"=>    {"待机帧数"=>  8, "攻击帧数"=>  7, "施法帧数"=>  8,
  47.               "攻击等待"=> 24, "施法类型"=>  1, "伤距修正"=> 72,
  48.               "攻距修正"=> 20, "攻击动画"=>162},     
  49. "剧毒蝎子"=>{"待机帧数"=>  6, "攻击帧数"=>  8, "施法帧数"=>  5,
  50.               "攻击等待"=> 16, "施法类型"=>  3, "伤距修正"=> 50,
  51.               "攻距修正"=> 33, "攻击动画"=>161}            
  52.               
  53. }
  54. Actors = {
  55. "赛特"   => {"待机帧数"=> 10, "攻击帧数"=>  6, "施法帧数"=>  9,
  56.               "前进帧数"=>  6, "道具帧数"=>  6, "胜利帧数"=>  7,
  57.               "升级帧数"=>  8, "挨打帧数"=>  5, "虚弱帧数"=>  8,
  58.               "重攻帧数"=> 12, "攻击等待"=> 16, "重攻等待"=> 18,
  59.               "施法类型"=>  4, "伤距修正"=> 80,},
  60.               
  61. "妮可"   => {"待机帧数"=> 10, "攻击帧数"=>  6, "施法帧数"=> 16,
  62.               "前进帧数"=>  2, "道具帧数"=>  6, "胜利帧数"=> 11,
  63.               "升级帧数"=> 11, "挨打帧数"=>  5, "虚弱帧数"=> 10,
  64.               "重攻帧数"=> 12, "攻击等待"=> 24, "重攻等待"=> 80,
  65.               "施法类型"=>  3, "伤距修正"=> 76,}
  66. }
  67. #属性设置
  68. Elements = {"赛特" => "火" , "妮可" => "暗"}
  69. #绝技设置 [帧数,x偏移,y偏移]
  70. USkill = {"赛特" => [nil,[30,-44,11]] , "妮可" => [nil,[20,45,-10]]}

  71. #战斗背景设置  
  72. BattleBack = {"树林" => [5,6,7,8,9] , "下水道" => [3] , "山洞" => [12]}











  73. end
复制代码
如何在VA中也有这样的设定呢?要怎样更改。请教

点评

说句无关紧要的,建议楼主把头像换一下,这个真的有点吓人。也许别人不敢进来回答...  发表于 2015-7-28 09:02
头像被屏蔽

Lv1.梦旅人 (禁止访问)

梦石
0
星屑
88
在线时间
631 小时
注册时间
2014-8-4
帖子
3600
2
发表于 2015-7-28 13:32:36 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
96
在线时间
81 小时
注册时间
2015-6-30
帖子
48
3
 楼主| 发表于 2015-7-28 14:33:20 | 只看该作者
冷峻逸 发表于 2015-7-28 13:32
修改素材文件

脚本不能直接在VA中使用,要怎么弄。。。

点评

无力了  发表于 2015-7-28 14:42
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-14 17:13

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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