#============================================================================== 
# ■ 华丽镜头移动脚本  by 黑暗之神Kaiser.DS 
#------------------------------------------------------------------------------ 
#  1-插入此段脚本到Main前面 
#   2-功能 
#     a-[镜头平滑移动到事件/角色] 
#       在事件里的[设置移动路线]里选择需要镜头转向的角色输入脚本kds即可 
#     b-[镜头跟随事件] 
#       在事件里的[设置移动路线]选择好需要跟随的事件后输入脚本kds_move_start开 
#       始跟随,当不想跟随时再输入kds_move_over 
#============================================================================== 
这个脚本是我SLG工程里的附产品,在镜头平滑指向事件、角色的同时,带来视觉上的华丽 
工程范例:
 http://rpg.blue/UP_PIC/200707/镜头跟随.rar- #==============================================================================# ■ 华丽镜头移动脚本  by 黑暗之神Kaiser.DS#------------------------------------------------------------------------------#  1-插入此段脚本到Main前面#   2-功能#     a-[镜头平滑移动到事件/角色]#       在事件里的[设置移动路线]里选择需要镜头转向的角色输入脚本kds即可#     b-[镜头跟随事件]#       在事件里的[设置移动路线]选择好需要跟随的事件后输入脚本kds_move_start开#       始跟随,当不想跟随时再输入kds_move_over#==============================================================================$平滑移动 = nilclass Scene_Map  alias kds_update update  def update    kds_update    if $平滑移动 != nil      cen_x = (320 - 16) * 4      cen_y = (240 - 16) * 4      max_x = ($game_map.width - 20) * 128      max_y = ($game_map.height - 15) * 128      display_x = [0, [$平滑移动.x * 128 - cen_x, max_x].min].max      display_y = [0, [$平滑移动.y * 128 - cen_y, max_y].min].max      if $game_map.display_x != display_x         if ($game_map.display_x - display_x).abs < 22           $game_map.display_x = display_x         else           $game_map.display_x += (display_x - $平滑移动.old_display_x)/8         end      end      if $game_map.display_y != display_y         if ($game_map.display_y - display_y).abs  last_real_y and @real_y - $game_map.display_y > CENTER_Y       $game_map.scroll_down(@real_y - last_real_y)     end     if @real_x < last_real_x and @real_x - $game_map.display_x < CENTER_X       $game_map.scroll_left(last_real_x - @real_x)     end     if @real_x > last_real_x and @real_x - $game_map.display_x > CENTER_X      $game_map.scroll_right(@real_x - last_real_x)     end     if @real_y < last_real_y and @real_y - $game_map.display_y < CENTER_Y       $game_map.scroll_up(last_real_y - @real_y)     end    end  end  end#==============================================================================复制代码
 
  复制代码             本帖来自P1论坛作者黑暗之神,因Project1站服务器在国外有时候访问缓慢不方便作者交流学习,经联系P1站长fux2同意署名转载一起分享游戏制作经验,共同为国内独立游戏作者共同创造良好交流环境,原文地址: https://rpg.blue/forum.php?mod=viewthread&tid=66501  若有侵权,发帖作者可联系底部站长QQ在线咨询功能删除,谢谢。  |