赞 | 1 |
VIP | 16 |
好人卡 | 0 |
积分 | 7 |
经验 | 11718 |
最后登录 | 2024-10-15 |
在线时间 | 384 小时 |
Lv2.观梦者
- 梦石
- 0
- 星屑
- 689
- 在线时间
- 384 小时
- 注册时间
- 2011-9-21
- 帖子
- 309
|
加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
相信有的人一定用过一个叫做“二重远景”的脚本吧。
但是,如果要加入更多的远景,应该怎么办呢?
嘿嘿,我有办法。这就开始吧。
我们就拿shironeko制作的rmva双远景地图脚本来做模板。
请注意一下改法(红色字体是本人更改过的):
#==============================================================================
# ■ Spriteset_Map
#------------------------------------------------------------------------------
# 处理地图画面精灵和图块的类。本类在 Scene_Map 类的内部使用。
#==============================================================================
class Spriteset_Map
#--------------------------------------------------------------------------
# ● 生成远景图
#--------------------------------------------------------------------------
def create_parallax
@parallax = Plane.new(@viewport1)
@parallax.z = -100
@parallax2 = Plane.new(@viewport1)
@parallax2.z = 200
@parallax3 = Plane.new(@viewport1)
@parallax3.z = 200
end
#--------------------------------------------------------------------------
# ● 释放
#--------------------------------------------------------------------------
def dispose
dispose_tilemap
dispose_parallax
dispose_parallax2
dispose_parallax3
dispose_characters
dispose_shadow
dispose_weather
dispose_pictures
dispose_timer
dispose_viewports
end
#--------------------------------------------------------------------------
# ● 释放远景图2
#--------------------------------------------------------------------------
def dispose_parallax2
@parallax2.bitmap.dispose if @parallax2.bitmap
@parallax2.dispose
end
def dispose_parallax3
@parallax3.bitmap.dispose if @parallax3.bitmap
@parallax3.dispose
end
#--------------------------------------------------------------------------
# ● 更新画面
#--------------------------------------------------------------------------
def update
update_tileset
update_tilemap
update_parallax
update_characters
update_shadow
update_weather
update_pictures
update_timer
update_viewports
end
#--------------------------------------------------------------------------
# ● 更新远景图
#--------------------------------------------------------------------------
def update_parallax
if @parallax_name != $game_map.parallax_name
@parallax_name = $game_map.parallax_name
@parallax.bitmap.dispose if @parallax.bitmap
@parallax.bitmap = Cache.parallax(@parallax_name)
sign = @parallax_name[/^[\!\$]./]
if sign != nil and sign.include?('$')
@parallax2.bitmap.dispose if @parallax2.bitmap
@parallax2.bitmap = Cache.parallax(@parallax_name +'_2')
@parallax2.ox = $game_map.parallax_ox(@parallax.bitmap)
@parallax2.oy = $game_map.parallax_oy(@parallax.bitmap)
@parallax3.bitmap.dispose if @parallax3.bitmap
@parallax3.bitmap = Cache.parallax(@parallax_name +'_3')
@parallax3.ox = $game_map.parallax_ox(@parallax.bitmap)
@parallax3.oy = $game_map.parallax_oy(@parallax.bitmap)
end
Graphics.frame_reset
end
sign = @parallax_name[/^[\!\$]./]
if sign != nil and sign.include?('$')
@parallax.ox = $game_map.display_x * 32
@parallax.oy = $game_map.display_y * 32
@parallax2.ox = $game_map.display_x * 48
@parallax2.oy = $game_map.display_y * 48
@parallax3.ox = $game_map.display_x * 64
@parallax3.oy = $game_map.display_y * 64
else
@parallax.ox = $game_map.parallax_ox(@parallax.bitmap)
@parallax.oy = $game_map.parallax_oy(@parallax.bitmap)
end
end
end
好了,这样就完事儿了。
如果你还想再加进更多的远景,就可以按照上面的步骤做。
只不过,数值不要忘记更改,否则可能会报错。
恩……要谢的话,先感谢shironeko吧。 |
评分
-
查看全部评分
|