Project1
标题:
切换地图后展示专有插图
[打印本页]
作者:
YamazakiRyusa
时间:
2011-8-1 10:31
标题:
切换地图后展示专有插图
这篇脚本用于切换到特定地图时展示专有图片,体验过 DNF 的朋友们自然不会对这个效果陌生了:例如从赫顿玛尔切换到西海岸时会出现西海岸的专有插图。我的这份脚本灵感便是来源于此。
脚本内容是从 GameOver 这个特别场景参考的。由于是特别运用于我那部渣同人《进军地狱门》,所以很多细节,复制过去的朋友们不要忘记修改了。展示效果要自己试试才会知道,我懒得放范例工程了,没那份闲工夫去做。
下面这图是伊萨多拉村庄的插图。进入该地图的效果其实可以参考 Gameover 的场景。
Scene_Isadoralvill.png
(423.24 KB, 下载次数: 23)
下载附件
保存到相册
2011-8-1 10:27 上传
废话不说,下面贴上脚本,拿去怎么用都行。商业目的的话记得事先和本人联系。
哎呀,忘记说了,在事件设置中,场所移动的命令后插入脚本 $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
复制代码
作者:
云破月
时间:
2011-8-1 10:41
听着很有诱惑力,就是感觉有点麻烦
,期待LZ优化~~这个先抱走试试~~
作者:
YamazakiRyusa
时间:
2011-8-1 10:43
看到回帖有动力了,准备传个整合的标题脚本
作者:
574656549
时间:
2011-8-2 18:44
提示:
作者被禁止或删除 内容自动屏蔽
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1