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

Project1

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

镜头移动脚本

 关闭 [复制链接]
头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2009-3-17
帖子
132
跳转到指定楼层
1
发表于 2009-5-11 21:59:27 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽

Lv1.梦旅人

梦·贤者

梦石
0
星屑
50
在线时间
1141 小时
注册时间
2007-12-15
帖子
4100
2
发表于 2009-5-11 23:13:07 | 只看该作者
很漂亮,不过据我所知空轨虽然是2D人物,但是场景是3D的,空轨使用的应该是3D引擎,所以这个镜头移动应该是3D的,2D的RM估计很难吧,不过应该可以尝试伪3D,前提是素材允许。
http://rpg.blue/home.php?mod=space&uid=34951&do=blog&id=12799
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
41 小时
注册时间
2008-6-15
帖子
93
3
发表于 2009-5-11 23:35:01 | 只看该作者
伪3D不是用来制作地图的吗?至于战斗的画面~~~```而且镜头。。。。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

夜天の主

梦石
0
星屑
124
在线时间
1552 小时
注册时间
2008-4-13
帖子
2347

开拓者第4届短篇游戏比赛亚军

4
发表于 2009-5-11 23:41:50 | 只看该作者
就像tommay前辈说的,要想自由旋转角度可能用RM很难实现,但是就场景方面作者自己控制运镜角度应该是可以实现的,有不同角度的地图素材且不说,即便是直接用默认图块做的话也应该能作出镜头旋转的效果~具体而言就是从不同的角度画同一张地图根据剧情需要切换(记得以前好像有个仿空轨设定的游戏就是这么干的,效果还不错~),注意注意透视就行了~至于战斗系统嘛..某k对RM的战棋系统也不是很熟悉,不过感觉作者自己控制变换场景应该也是可以实现的吧..
嘛,只是就个人所知发表了一些貌似不是很有用的看法,仅供参考..
p.s.LZ的头签很有爱恩..
回复 支持 反对

使用道具 举报

Lv3.寻梦者 (版主)

  /) /)<

梦石
0
星屑
4212
在线时间
4890 小时
注册时间
2009-2-16
帖子
8434

开拓者短篇七成年组季军

5
发表于 2009-5-12 02:56:27 | 只看该作者
#==============================================================================
# ■ 华丽镜头移动脚本
#------------------------------------------------------------------------------
#  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
#==============================================================================
回复 支持 反对

使用道具 举报

Lv1.梦旅人

剑圣

梦石
0
星屑
50
在线时间
122 小时
注册时间
2008-8-31
帖子
778
6
发表于 2009-5-12 03:30:07 | 只看该作者
二话不说马上换头像………………
嗯这是我在6R的第一张水帖……

PC/IOS/Android共享的RM RPG:未名大学
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
128 小时
注册时间
2009-1-28
帖子
2790
7
发表于 2009-5-12 03:34:26 | 只看该作者
以下引用天使喝可乐于2009-5-11 18:56:27的发言:
#==============================================================================
# ■ 华丽镜头移动脚本
#-------------------------------------------------------------------------

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

炼金术的根本法则是等价交换。想要获得,必须失去同等价值的东西。每当烦躁的时候,煎熬在不想做却又正在做的烦心事中的时候,我就安慰自己,提醒自己做这些事情的目的所在,告诉自己不要忽略所获得或者即将获得的回报,物质的,精神的,肉体的,灵魂的回报!只做想做的事情,就会失去不想失去的东西。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

夜天の主

梦石
0
星屑
124
在线时间
1552 小时
注册时间
2008-4-13
帖子
2347

开拓者第4届短篇游戏比赛亚军

8
发表于 2009-5-12 06:59:26 | 只看该作者
以下引用霜冻之狼于2009-5-11 19:34:26的发言:


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

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


而且貌似这个只是平移镜头吧..要旋转的话估计还是得从不同角度多弄几张地图..
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2009-4-24
帖子
83
9
发表于 2009-5-12 19:37:10 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦·贤者

梦石
0
星屑
50
在线时间
1141 小时
注册时间
2007-12-15
帖子
4100
10
发表于 2009-5-12 19:53:39 | 只看该作者
以下引用柳大于2009-5-12 11:37:10的发言:

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

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

如果你有能力做成这样的3D,那么还不如直接用Irrlicht引擎
http://rpg.blue/home.php?mod=space&uid=34951&do=blog&id=12799
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2025-1-15 17:47

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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