赞 | 5 |
VIP | 6 |
好人卡 | 15 |
积分 | 1 |
经验 | 12984 |
最后登录 | 2017-3-27 |
在线时间 | 248 小时 |
Lv1.梦旅人
- 梦石
- 0
- 星屑
- 50
- 在线时间
- 248 小时
- 注册时间
- 2010-8-22
- 帖子
- 127
|
加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
这篇脚本用于切换到特定地图时展示专有图片,体验过 DNF 的朋友们自然不会对这个效果陌生了:例如从赫顿玛尔切换到西海岸时会出现西海岸的专有插图。我的这份脚本灵感便是来源于此。
脚本内容是从 GameOver 这个特别场景参考的。由于是特别运用于我那部渣同人《进军地狱门》,所以很多细节,复制过去的朋友们不要忘记修改了。展示效果要自己试试才会知道,我懒得放范例工程了,没那份闲工夫去做。
下面这图是伊萨多拉村庄的插图。进入该地图的效果其实可以参考 Gameover 的场景。
废话不说,下面贴上脚本,拿去怎么用都行。商业目的的话记得事先和本人联系。
哎呀,忘记说了,在事件设置中,场所移动的命令后插入脚本 $scene = Scene_MapChange.new 即可。如果先调用脚本再场所移动,因为脚本读取的是当前地图,所以会造成小小的 BUG。本人正在考虑在 ryumap 变量那里 +1,不过那些地图就要顺序排列了,的确很麻烦。希望有谁能出面完善一下。
- #==============================================================================
- # ■ Scene_MapChange 1.0 Edition
- #------------------------------------------------------------------------------
- # 切换关键地图时显示专有图像
- # 作者 / Ryusa 参考 / 尽头 宇文隳
- # [email protected]
- #==============================================================================
- class Scene_MapChange
- #--------------------------------------------------------------------------
- # ● 主处理
- #--------------------------------------------------------------------------
- def main
- # 获取地图 ID,导入变量 ryumap
- ryumap = $game_map.map_id
- # 由地图 ID 决定生成图形
- filename = ""
- case ryumap
- #when num # 范例
- #filename = "path" # 范例
- when 22 # 里奥拉多地区·里奥拉多镇通道
- filename = "Scene_AreaLeoladol.png"
- when 40 # 里奥拉多地区·麦基通道
- filename = "Scene_AreaLeoladol.png"
- when 47 # 里奥拉多地区·波布雷欧普莱通道
- filename = "Scene_AreaLeoladol.png"
- when 23 # 里奥拉多镇
- filename = "Scene_AreaLeoladol.png"
- when 148 # 巴多·帕鲁迪兹山洞
- filename = "Scene_CaveBado.png"
- when 114 # 地狱门
- filename = "Scene_Desert.png"
- when 119 # 地球救济中心
- filename = "Scene_Earth.png"
- when 97 # 伊尔·米古拉
- filename = "Scene_ElMigolar.png"
- when 51 # 莫氏塔
- filename = "Scene_Mr.MowTower.png"
- when 38 # 波布雷·欧普莱
- filename = "Scene_NewFork.png"
- when 75 # 奥多里
- filename = "Scene_Outry.png"
- when 109 # 桑塔
- filename = "Scene_SantaPork.png"
- when 136 # 地狱门西村
- filename = "Scene_SunPork.png"
- when 42 # 麦基村
- filename = "Scene_TownNeki.png"
- else # 未特别指定的地图显示通用图像
- filename = "Scene_TownNeki.png"
- end
- #print filename # 校验文件名,测试用
- @sprite = Sprite.new
- if not filename == ""
- @sprite.bitmap = RPG::Cache.picture(filename)
- @sprite.z = 9999 # 图像叠放层次在最前
- end
- # 执行过渡
- Graphics.transition(60) # 淡入图像的时间,单位为帧
- # 主循环
- loop do
- # 刷新游戏画面
- Graphics.update
- # 刷新输入信息
- Input.update
- # 刷新画面情报
- update
- # 如果画面被切换的话就中断循环
- if $scene != self
- break
- end
- end
- # 准备过渡
- Graphics.freeze
- # 释放图形
- @sprite.bitmap.dispose
- @sprite.dispose
- # 执行过度
- Graphics.transition(20)
- # 准备过渡
- Graphics.freeze
- end
- #--------------------------------------------------------------------------
- # ● 刷新画面
- #--------------------------------------------------------------------------
- def update
- @sprite.update
- #@sprite.bitmap.update
- # 按下 C 键的情况下
- if Input.trigger?(Input::C)
- # 切换到相应地图
- $scene = Scene_Map.new
- end
- end
- end
复制代码
|
|