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

Project1

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

[已经过期] {关于移植}以前在XP的时候有个华丽镜头移动脚本,求移植法

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
78 小时
注册时间
2011-9-17
帖子
102
跳转到指定楼层
1
发表于 2012-6-10 00:39:31 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
这个脚本可以实现事件向的镜头移动,VA自带的卷动镜头很不美观的说,所以想问一下这个脚本是否可以通用,如果不能通用,要将XP脚本用到VA脚本该怎么办?
下面贴上XP的原脚本
  1. #==============================================================================
  2. # ■ 华丽镜头移动脚本 by 黑暗之神Kaiser.DS
  3. #------------------------------------------------------------------------------
  4. #  1-插入此段脚本到Main前面
  5. #   2-功能
  6. #     a-[镜头平滑移动到事件/角色]
  7. #       在事件里的[设置移动路线]里选择需要镜头转向的角色输入脚本kds即可
  8. #     b-[镜头跟随事件]
  9. #       在事件里的[设置移动路线]选择好需要跟随的事件后输入脚本kds_move_start开
  10. #       始跟随,当不想跟随时再输入kds_move_over
  11. #==============================================================================
  12. $平滑移动 = nil
  13. class Scene_Map
  14. alias kds_update update
  15. def update
  16.     kds_update
  17.     if $平滑移动 != nil
  18.       cen_x = (320 - 16) * 4
  19.       cen_y = (240 - 16) * 4
  20.       max_x = ($game_map.width - 20) * 128
  21.       max_y = ($game_map.height - 15) * 128
  22.       display_x = [0, [$平滑移动.x * 128 - cen_x, max_x].min].max
  23.       display_y = [0, [$平滑移动.y * 128 - cen_y, max_y].min].max
  24.       if $game_map.display_x != display_x
  25.          if ($game_map.display_x - display_x).abs < 22
  26.            $game_map.display_x = display_x
  27.          else
  28.            $game_map.display_x += (display_x - $平滑移动.old_display_x)/8
  29.          end
  30.       end
  31.       if $game_map.display_y != display_y
  32.          if ($game_map.display_y - display_y).abs <= 22
  33.             $game_map.display_y = display_y
  34.          else
  35.             $game_map.display_y += (display_y - $平滑移动.old_display_y)/8
  36.          end
  37.       end
  38.       if $game_map.display_x == display_x and $game_map.display_y == display_y
  39.          $平滑移动.center($平滑移动.x, $平滑移动.y)
  40.          $平滑移动 = nil
  41.       end
  42.       return
  43.     end
  44. end
  45. end
  46. class Game_Character
  47. CENTER_X = (320 - 16) * 4
  48. CENTER_Y = (240 - 16) * 4
  49. attr_accessor :old_display_x
  50. attr_accessor :old_display_y
  51. attr_accessor :kds_move
  52. def center(x, y)
  53.     max_x = ($game_map.width - 20) * 128
  54.     max_y = ($game_map.height - 15) * 128
  55.     $game_map.display_x = [0, [x * 128 - CENTER_X, max_x].min].max
  56.     $game_map.display_y = [0, [y * 128 - CENTER_Y, max_y].min].max
  57. end
  58. def kds
  59.     @old_display_x = $game_map.display_x
  60.     @old_display_y = $game_map.display_y
  61.     case @id
  62.     when 0
  63.       $平滑移动 = $game_player
  64.     else
  65.       $平滑移动 = $game_map.events[@id]
  66.     end
  67. end
  68. def kds_move_start
  69.       @kds_move = ""
  70. end
  71. def kds_move_over
  72.       @kds_move = nil
  73. end
  74. alias kds_update update
  75. def update
  76.     last_real_x = @real_x
  77.     last_real_y = @real_y
  78.     kds_update
  79.     if @kds_move != nil
  80.      if @real_y > last_real_y and @real_y - $game_map.display_y > CENTER_Y
  81.        $game_map.scroll_down(@real_y - last_real_y)
  82.      end
  83.      if @real_x < last_real_x and @real_x - $game_map.display_x < CENTER_X
  84.        $game_map.scroll_left(last_real_x - @real_x)
  85.      end
  86.      if @real_x > last_real_x and @real_x - $game_map.display_x > CENTER_X
  87.       $game_map.scroll_right(@real_x - last_real_x)
  88.      end
  89.      if @real_y < last_real_y and @real_y - $game_map.display_y < CENTER_Y
  90.        $game_map.scroll_up(last_real_y - @real_y)
  91.      end
  92.     end
  93. end
  94. end
  95. #==============================================================================
复制代码

Lv1.梦旅人

哆啦菌

梦石
0
星屑
46
在线时间
795 小时
注册时间
2010-7-24
帖子
3800
2
发表于 2012-6-10 16:49:04 | 只看该作者
经过测试完全可以通用
随便看看
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
78 小时
注册时间
2011-9-17
帖子
102
3
 楼主| 发表于 2012-6-10 17:54:50 | 只看该作者
fxwd 发表于 2012-6-10 16:49
经过测试完全可以通用

可是我用了会出问题诶

点评

冲突  发表于 2012-6-10 18:38
回复

使用道具 举报

Lv4.逐梦者 (超级版主)

嗜谎者

梦石
2
星屑
16649
在线时间
3896 小时
注册时间
2010-9-12
帖子
9641

极短24评委极短23评委极短22评委极短21评委开拓者

4
发表于 2012-6-10 19:08:56 | 只看该作者
http://rpg.blue/thread-222522-1-1.html
貌似就是这个,VA已经有人做过了。
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
78 小时
注册时间
2011-9-17
帖子
102
5
 楼主| 发表于 2012-6-11 19:06:24 | 只看该作者
本帖最后由 ushiromiya 于 2012-6-11 19:21 编辑
Luciffer 发表于 2012-6-10 19:08
http://rpg.blue/thread-222522-1-1.html
貌似就是这个,VA已经有人做过了。


那个的代码复制不了
而且我的这个脚本是直接调用设置移动路线脚本就可以直线的转向目标事件





新建工程后显示如下错误




‘‘──ushiromiya于2012-6-11 20:44补充以下内容:

求修改啊
’’

点评

看来不是一个脚本。。。  发表于 2012-6-11 20:05
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-5-14 05:38

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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