查看: 2037|回复: 2

[已经过期] 熊式横版战斗攻击移动的问题

[复制链接]
梦石
0
星屑
50
在线时间
168 小时
注册时间
2007-7-26
回帖
427
发表于 2015-11-29 16:25:11 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 cmmd1 于 2015-11-29 16:28 编辑

感谢@无忧谷主幻  提议解决两排队伍的问题
QQ图片20151129145634.png
下面是我要问的问题
QQ图片20151129162156.jpg
没有跑到中间去释放技能,这个是半距离攻击的。
我替换了“熊式横版战斗”的素材,那个半距离技能攻击的距离是在哪里改啊?我的角色跑了一步就开始释放技能了,没有跑到中间去放,看起来很别扭啊
@弗雷德
Project1.rar (1.78 MB, 下载次数: 40)

点评

SORRY,俺已经不碰RM了,电脑也没装了,so sad……  发表于 2015-11-30 11:36
梦石
0
星屑
7296
在线时间
1244 小时
注册时间
2015-8-15
回帖
473
发表于 2015-11-30 15:11:13 | 显示全部楼层
本帖最后由 金芒芒 于 2015-11-30 15:15 编辑

技能动画从做一下你的赵云没有目标的攻击+个人在弄赵云动作图在人上打,在空气里这么打,还有你的图片也要分享一下啊,资源匮乏大家做不出好东西,有什么大家一起研究
ZHAOYUN.png

点评

你加我啊,不然怎么发素材啊  发表于 2015-11-30 17:27
回复

使用道具 举报

梦石
0
星屑
50
在线时间
168 小时
注册时间
2007-7-26
回帖
427
 楼主| 发表于 2015-11-30 18:17:53 | 显示全部楼层
本帖最后由 cmmd1 于 2015-11-30 18:21 编辑

[pre lang="ruby"]  def update_phase4_step3
    ####普通攻击的场合############################################################
    if @active_battler.current_action.basic == 0 and
      @active_battler.current_action.kind == 0
      #开始执行移动
     if not @active_battler.element_rate(UNMOVE)>100# 如果属性“不移动”不大于100
        @active_battler.startactive = "移动"
        @oldxy = [@active_battler.screen_x,@active_battler.screen_y]
        ox,oy = @active_battler.screen_x,@active_battler.screen_y
      if @active_battler.element_rate(HOMOVE)>100# 如果属性“半距离”大于100
        @_move_duration = Move_Duration/2
       while @_move_duration > 0
        Graphics.update
        Input.update
        @spriteset.update
        if @target_battlers[0].is_a?(Game_Actor)
        tag = [@target_battlers[0].screen_x-@target_battlers[0].width-(@target_battlers[0].screen_x-ox).abs/2.abs,@target_battlers[0].screen_y+1]
        else
        tag = [(@target_battlers[0].screen_x+@target_battlers[0].width/1.5)+(@target_battlers[0].screen_x-ox).abs/2,@target_battlers[0].screen_y+2]
        end
        move(@active_battler, tag, ox, oy)
        @_move_duration -= 1
      end
    else
      @_move_duration = Move_Duration
        while @_move_duration > 0
        Graphics.update
        Input.update
        @spriteset.update
        if @target_battlers[0].is_a?(Game_Actor)
        tag = [@target_battlers[0].screen_x-@target_battlers[0].width/2,@target_battlers[0].screen_y+1]
        else
        tag = [@target_battlers[0].screen_x+@target_battlers[0].width/1.5,@target_battlers[0].screen_y+2]
        end
        move(@active_battler, tag, ox, oy)
        @_move_duration -= 1
      end
      end
    end
   ####普通攻击的场合############################################################
    elsif @active_battler.current_action.kind == 1
    ####使用特技的场合############################################################
      if not @skill.element_set.include?(UNMOVE)# 如果技能不包含“不移动属性”
        @active_battler.startactive = "移动"
        @oldxy = [@active_battler.screen_x,@active_battler.screen_y]
        ox,oy = @active_battler.screen_x,@active_battler.screen_y
      if @skill.element_set.include?(HOMOVE)#如果技能不包含“半距离”属性
        @_move_duration = Move_Duration/2
       while @_move_duration > 0
        Graphics.update
        Input.update
        @spriteset.update
        if @target_battlers[0].is_a?(Game_Actor)
        tag = [@target_battlers[0].screen_x-@target_battlers[0].width-(@target_battlers[0].screen_x-ox).abs/2.abs,@target_battlers[0].screen_y+1]
        else
        tag = [(@target_battlers[0].screen_x+@target_battlers[0].width/1.5)+(@target_battlers[0].screen_x-ox).abs/2,@target_battlers[0].screen_y+2]
        end
        move(@active_battler, tag, ox, oy)
        @_move_duration -= 1
      end
    else
      @_move_duration = Move_Duration
        while @_move_duration > 0
        Graphics.update
        Input.update
        @spriteset.update
        if @target_battlers[0].is_a?(Game_Actor)
        tag = [@target_battlers[0].screen_x-@target_battlers[0].width,@target_battlers[0].screen_y+1]
        else
        tag = [@target_battlers[0].screen_x+@target_battlers[0].width/1.5,@target_battlers[0].screen_y+2]
        end
        move(@active_battler, tag, ox, oy)
        @_move_duration -= 1
      end
      end
    end
   #####使用特技的场合##############################################################
end
if @active_battler.startactive != "防御"
    @active_battler.startactive = "待机"
   end
    # 行动方动画 (ID 为 0 的情况下是白色闪烁)
    if @animation1_id == 0
      @active_battler.white_flash = true
    else
      @active_battler.animation_id = @animation1_id
      @active_battler.animation_hit = true
    end
    for target in @target_battlers
      if target.guarding? and target.damage.is_a?(Numeric)
        target.startactive = "防御" if target.damage > 0
        end
      target.animation_id = @animation2_id
      target.animation_hit = (target.damage != "Miss")
    end
    # 移至步骤 4
    @phase4_step = 4
  end
  ##############################################################################
  def update_phase4_step4
   ###########################万兽熊最高########################################
    # 对像方动画
     for target in @target_battlers
       if target.damage != nil
         target.damage_pop = true
       end
     end
    # 限制动画长度、最低 8 帧
  #  @wait_count = 8
  ##############################################################################
    # 移至步骤 5
    @phase4_step = 5
  end
####################万兽熊最高############################
  def update_phase4_step5
    # 隐藏帮助窗口
    @help_window.visible = false
    if @active_battler.current_action.basic == 0 and
      @active_battler.current_action.kind == 0
   ####普通攻击的场合############################################################   
      #执行返回
    if not @active_battler.element_rate(UNMOVE)>100# 如果属性“不移动”不大于100
      @active_battler.startactive = "返回"
      if @active_battler.element_rate(HOMOVE)>100# 如果属性“半距离”大于100
      @_move_duration = Move_Duration/2
      else
      @_move_duration = Move_Duration   
      end
      ox,oy = @active_battler.screen_x - @active_battler.movex,\
      @active_battler.screen_y - @active_battler.movey
      while @_move_duration > 0
        Graphics.update
        Input.update
        @spriteset.update
        move(@active_battler, @oldxy, ox, oy, true)
        @_move_duration -= 1
      end
    end
   ####普通攻击的场合############################################################
    elsif @active_battler.current_action.kind == 1
      if not @skill.element_set.include?(UNMOVE)#如果技能不包含“不移动”属性
      @active_battler.startactive = "返回"
      if @skill.element_set.include?(HOMOVE)#如果技能包含“半距离”属性
      @_move_duration = Move_Duration/2
      else
      @_move_duration = Move_Duration   
      end
      ox,oy = @active_battler.screen_x - @active_battler.movex,\
      @active_battler.screen_y - @active_battler.movey
      while @_move_duration > 0
        Graphics.update
        Input.update
        @spriteset.update
        move(@active_battler, @oldxy, ox, oy, true)
        @_move_duration -= 1
      end
    end
   ####使用特技的场合############################################################
end
if @active_battler.startactive != "防御"
    @active_battler.startactive = "待机"
   end
    # 刷新状态窗口
    @status_window.refresh
    # 显示伤害
    for target in @target_battlers
      target.startactive = "待机"
      if target.damage != nil
        target.damage_pop = true
      end
    end
    # 移至步骤 6
    @phase4_step = 6
  end
  def update_phase4_step6
    # 清除强制行动对像的战斗者
    $game_temp.forcing_battler = nil
    @active_battler.movex = 0
    @active_battler.movey = 0
    @active_battler.startactive = "待机" if @active_battler.startactive != "死亡"
    # 公共事件 ID 有效的情况下
    if @common_event_id > 0
      # 设置事件
      common_event = $data_common_events[@common_event_id]
      $game_system.battle_interpreter.setup(common_event.list, 0)
    end
    # 移至步骤 1
    @phase4_step = 1
  end
end
[/pre]

点评

大家帮忙看一下吧,和动画啥的没关系,就是脚本这个问题,哪里改移动距离的。  发表于 2015-11-30 20:18
回复

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部