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

Project1

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

[RMVX发布] 华丽镜头移动脚本 VX化

 关闭 [复制链接]

Lv1.梦旅人

SB們大家好<

梦石
0
星屑
50
在线时间
3 小时
注册时间
2008-1-7
帖子
457
跳转到指定楼层
1
发表于 2008-2-28 07:16:43 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 雪流星 于 2009-7-15 00:10 编辑
  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. class Game_Map
  13.   attr_accessor   :display_x                # 显示 X 坐标 * 256
  14.   attr_accessor   :display_y                # 显示 Y 坐标 * 256
  15. end
  16. $平滑移动 = nil
  17. class Scene_Map
  18.   alias kds_update update
  19.   def update
  20.     kds_update
  21.     if $平滑移动 != nil
  22.       cen_x = Game_Character::CENTER_X
  23.       cen_y = Game_Character::CENTER_Y
  24.       max_x = ($game_map.width - 17) * 256
  25.       max_y = ($game_map.height - 13) * 256
  26.       display_x = [0, [$平滑移动.x * 256 - cen_x, max_x].min].max
  27.       display_y = [0, [$平滑移动.y * 256 - cen_y, max_y].min].max
  28.       if $game_map.display_x != display_x
  29.          if ($game_map.display_x - display_x).abs < 22
  30.            $game_map.display_x = display_x
  31.          else
  32.            $game_map.display_x += (display_x - $平滑移动.old_display_x)/32
  33.          end
  34.       end
  35.       if $game_map.display_y != display_y
  36.          if ($game_map.display_y - display_y).abs <= 22
  37.             $game_map.display_y = display_y
  38.          else
  39.             $game_map.display_y += (display_y - $平滑移动.old_display_y)/32
  40.          end
  41.       end
  42.       if $game_map.display_x == display_x  and $game_map.display_y == display_y
  43.          $平滑移动.center($平滑移动.x, $平滑移动.y)
  44.          $平滑移动 = nil
  45.       end
  46.       return
  47.     end
  48.   end  
  49. end
  50. class Game_Character
  51.   CENTER_X = (544 / 2 - 16) * 8     # 画面中央的 X 坐标 * 8
  52.   CENTER_Y = (416 / 2 - 16) * 8     # 画面中央的 Y 坐标 * 8
  53.   attr_accessor :old_display_x
  54.   attr_accessor :old_display_y
  55.   attr_accessor :kds_move
  56.   def center(x, y)
  57.     max_x = ($game_map.width - 17) * 256
  58.     max_y = ($game_map.height - 13) * 256
  59.     $game_map.display_x = [0, [x * 256 - CENTER_X, max_x].min].max
  60.     $game_map.display_y = [0, [y * 256 - CENTER_Y, max_y].min].max
  61.   end
  62.   def kds
  63.     @old_display_x = $game_map.display_x
  64.     @old_display_y = $game_map.display_y
  65.     case @id
  66.     when 0
  67.       $平滑移动 = $game_player
  68.     else
  69.       $平滑移动 = $game_map.events[@id]
  70.     end
  71.   end
  72.   def kds_move_start
  73.       @kds_move = ""
  74.   end
  75.   def kds_move_over
  76.       @kds_move = nil
  77.   end
  78.   alias kds_update update
  79.   def update
  80.     last_real_x = @real_x
  81.     last_real_y = @real_y
  82.     kds_update
  83.     if @kds_move != nil
  84.      if @real_y > last_real_y and @real_y - $game_map.display_y > CENTER_Y
  85.        $game_map.scroll_down(@real_y - last_real_y)
  86.      end
  87.      if @real_x < last_real_x and @real_x - $game_map.display_x < CENTER_X
  88.        $game_map.scroll_left(last_real_x - @real_x)
  89.      end
  90.      if @real_x > last_real_x and @real_x - $game_map.display_x > CENTER_X
  91.       $game_map.scroll_right(@real_x - last_real_x)
  92.      end
  93.      if @real_y < last_real_y and @real_y - $game_map.display_y < CENTER_Y
  94.        $game_map.scroll_up(last_real_y - @real_y)
  95.      end
  96.     end
  97.   end  
  98. end
  99. #==============================================================================
复制代码


适用默认分辨率。

范例,进入游戏后和左边的女生对话
http://rpg.blue/upload_program/f ... 范例_84746575.rar
这不是6R,我对自己说。

Lv1.梦旅人

史上最强粉丝

梦石
0
星屑
50
在线时间
9 小时
注册时间
2007-8-20
帖子
5574

贵宾

2
发表于 2008-2-28 15:37:22 | 只看该作者
恩…平滑的电影视角么?不知道能否添加动态模糊特效呢?Bitmap应该有的~楼主加油啊。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
12 小时
注册时间
2006-5-21
帖子
773
3
发表于 2008-2-28 18:39:16 | 只看该作者
支持原分辨率...我用又要改坐标
MadniMStudio|Beside
回复 支持 反对

使用道具 举报

Lv2.观梦者

神隐的主犯

梦石
0
星屑
283
在线时间
271 小时
注册时间
2008-2-22
帖子
7691

贵宾

4
发表于 2008-2-28 20:40:17 | 只看该作者
好东西哦,收下了。正在为地图卷动发愁呢,谢谢趙雲大人。

《天空之城 —— 破碎的命运》
回复 支持 反对

使用道具 举报

Lv1.梦旅人

SB們大家好<

梦石
0
星屑
50
在线时间
3 小时
注册时间
2008-1-7
帖子
457
5
 楼主| 发表于 2008-2-28 23:15:40 | 只看该作者
改坐标又不麻烦,我是先写640然后改成544的。
这不是6R,我对自己说。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

很傻很天真

梦石
0
星屑
55
在线时间
3 小时
注册时间
2007-3-13
帖子
3667
6
发表于 2008-2-29 01:39:19 | 只看该作者
以下引用趙雲于2008-2-28 15:15:40的发言:

改坐标又不麻烦,我是先写640然后改成544的。

9494   一点都不难...有的RM基础的一般都会.......{/gg}
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
100
在线时间
3 小时
注册时间
2008-2-18
帖子
86
7
发表于 2008-2-29 03:25:48 | 只看该作者
很棒 lz加油 谢谢收下咯!~
回复 支持 反对

使用道具 举报

Lv1.梦旅人

风雪夜不归人

梦石
0
星屑
50
在线时间
276 小时
注册时间
2006-3-7
帖子
6721

贵宾

8
发表于 2008-2-29 05:11:40 | 只看该作者
不错,早点出来就更好了~

在事件里的[设置移动路线]里选择需要镜头转向的角色输入脚本kds

第一个功能测试的时候怎么无效呢?
有些人,到了七八月份就会诈尸。
宫斗,是女生永远的爱。
冷门,是本人不变的欲。
作弊,是玩家自由的痛。
练级,是橙光割舍的情。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
100
在线时间
3 小时
注册时间
2008-2-18
帖子
86
9
发表于 2008-2-29 05:15:20 | 只看该作者
平移我会使用 但是不知道镜头一直跟随的事件怎么设置?  我设置的对吗?
回复 支持 反对

使用道具 举报

Lv1.梦旅人

SB們大家好<

梦石
0
星屑
50
在线时间
3 小时
注册时间
2008-1-7
帖子
457
10
 楼主| 发表于 2008-2-29 09:15:54 | 只看该作者
以下引用风雪优游于2008-2-28 21:11:40的发言:

不错,早点出来就更好了~


在事件里的[设置移动路线]里选择需要镜头转向的角色输入脚本kds

第一个功能测试的时候怎么无效呢?


[本贴由作者于 2008-2-28 21:19:21 最后编辑]


测试有效,悠游是不是没设置好呢
以下引用3121362于2008-2-28 21:15:20的发言:

平移我会使用 但是不知道镜头一直跟随的事件怎么设置?  我设置的对吗?

嗯,就是这样
最好在之后加上
设置移动路线,角色
脚本 kds

切换回来
这不是6R,我对自己说。
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-16 04:32

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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