Project1

标题: 镜头移动脚本 [打印本页]

作者: 蓝の星辰    时间: 2009-5-11 21:59
提示: 作者被禁止或删除 内容自动屏蔽
作者: tommay    时间: 2009-5-11 23:13
很漂亮,不过据我所知空轨虽然是2D人物,但是场景是3D的,空轨使用的应该是3D引擎,所以这个镜头移动应该是3D的,2D的RM估计很难吧,不过应该可以尝试伪3D,前提是素材允许。
作者: 林Z明    时间: 2009-5-11 23:35
伪3D不是用来制作地图的吗?至于战斗的画面~~~```而且镜头。。。。
作者: kakarot    时间: 2009-5-11 23:41
就像tommay前辈说的,要想自由旋转角度可能用RM很难实现,但是就场景方面作者自己控制运镜角度应该是可以实现的,有不同角度的地图素材且不说,即便是直接用默认图块做的话也应该能作出镜头旋转的效果~具体而言就是从不同的角度画同一张地图根据剧情需要切换(记得以前好像有个仿空轨设定的游戏就是这么干的,效果还不错~),注意注意透视就行了~至于战斗系统嘛..某k对RM的战棋系统也不是很熟悉,不过感觉作者自己控制变换场景应该也是可以实现的吧..
嘛,只是就个人所知发表了一些貌似不是很有用的看法,仅供参考..
p.s.LZ的头签很有爱恩..
作者: 天使喝可乐    时间: 2009-5-12 02:56
#==============================================================================
# ■ 华丽镜头移动脚本
#------------------------------------------------------------------------------
#  1-插入此段脚本到Main前面
#   2-功能
#     a-[镜头平滑移动到事件/角色]
#       在事件里的[设置移动路线]里选择需要镜头转向的角色输入脚本kds即可
#     b-[镜头跟随事件]
#       在事件里的[设置移动路线]选择好需要跟随的事件后输入脚本kds_move_start开
#       始跟随,当不想跟随时再输入kds_move_over
#==============================================================================
$平滑移动 = nil
class 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 <= 22
            $game_map.display_y = display_y
         else
            $game_map.display_y += (display_y - $平滑移动.old_display_y)/8
         end
      end
      if $game_map.display_x == display_x  and $game_map.display_y == display_y
         $平滑移动.center($平滑移动.x, $平滑移动.y)
         $平滑移动 = nil
      end
      return
    end
  end  
end
class Game_Character
  CENTER_X = (320 - 16) * 4
  CENTER_Y = (240 - 16) * 4
  attr_accessor :old_display_x
  attr_accessor :old_display_y
  attr_accessor :kds_move
  def center(x, y)
    max_x = ($game_map.width - 20) * 128
    max_y = ($game_map.height - 15) * 128
    $game_map.display_x = [0, [x * 128 - CENTER_X, max_x].min].max
    $game_map.display_y = [0, [y * 128 - CENTER_Y, max_y].min].max
  end
  def kds
    @old_display_x = $game_map.display_x
    @old_display_y = $game_map.display_y
    case @id
    when 0
      $平滑移动 = $game_player
    else
      $平滑移动 = $game_map.events[@id]
    end
  end
  def kds_move_start
      @kds_move = ""
  end
  def kds_move_over
      @kds_move = nil
  end
  alias kds_update update
  def update
    last_real_x = @real_x
    last_real_y = @real_y
    kds_update
    if @kds_move != nil
     if @real_y > 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
#==============================================================================
作者: Tabris_Air    时间: 2009-5-12 03:30
二话不说马上换头像………………
嗯这是我在6R的第一张水帖……
作者: 霜冻之狼    时间: 2009-5-12 03:34
以下引用天使喝可乐于2009-5-11 18:56:27的发言:
#==============================================================================
# ■ 华丽镜头移动脚本
#-------------------------------------------------------------------------

咳咳,转载脚本请先注意版权问题....

作者: kakarot    时间: 2009-5-12 06:59
以下引用霜冻之狼于2009-5-11 19:34:26的发言:


以下引用天使喝可乐于2009-5-11 18:56:27的发言:
#==============================================================================
# ■ 华丽镜头移动脚本
#-------------------------------------------------------------------------

咳咳,转载脚本请先注意版权问题....


而且貌似这个只是平移镜头吧..要旋转的话估计还是得从不同角度多弄几张地图..
作者: 柳大    时间: 2009-5-12 19:37
提示: 作者被禁止或删除 内容自动屏蔽
作者: tommay    时间: 2009-5-12 19:53
以下引用柳大于2009-5-12 11:37:10的发言:

也是可以完全实现的
刘之一大师已经能在RM中实现3D效果
传送门地址
如果您能在这基础上再升华下的话,恭喜您,您成功了!

这个其实没有什么意义
以下引用柳之一于2008-12-27 20:22:27的发言:
3d主要是irr的功劳,实际上这就是个壳,里面内容得累死

如果你有能力做成这样的3D,那么还不如直接用Irrlicht引擎
作者: 蓝の星辰    时间: 2009-5-12 21:56
提示: 作者被禁止或删除 内容自动屏蔽
作者: 蓝の星辰    时间: 2009-5-13 02:14
提示: 作者被禁止或删除 内容自动屏蔽
作者: hitlerson    时间: 2009-5-14 07:51
LZ赚多多的分再来问,这个要重写Tilemap
分多了我就有动力了




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1