Project1

标题: VA双远景脚本,范例已重新上传 [打印本页]

作者: shironeko    时间: 2012-1-30 10:14
标题: VA双远景脚本,范例已重新上传
本帖最后由 shironeko 于 2012-9-20 11:35 编辑

这个是我今天写的脚本,主要作用是实现rmva的双远景功能(非vx修改得来)
使用方法:
脚本添加了自动判断功能,在你想使用双远景的图片前面加上"$",作为远景那层文件名后面加"_2"如图:

不添加"$"的图片文件将以vx的默认远景方式进行移动和刷新,且不显示第二层
代码暂时屏蔽




范例工程

重新上传到了百度云,论坛的999kb限制真心伤不起
http://pan.baidu.com/share/link?shareid=60220&uk=3676657676


通常的远景命名方式将按照va默认的方式进行刷新且只刷新第一层(这样节省资源)
  1. #

复制代码
今天重新上传了范例工程,如果依然出错的话请pm我一下,谢谢~~

作者: 雪流星    时间: 2012-1-30 12:04
建議:利用 alias 降低衝突的可能
作者: 李光兆    时间: 2012-1-30 13:14
谢谢楼楼分享,让很多人(除了我这种不懂双远景的人)得到帮助.(好正式的内容,不是复制粘贴修改的吧......)
作者: zzfzy    时间: 2012-1-30 23:39
很不错的说,就是第二层透明度咋改?
作者: 天朝坦克    时间: 2012-1-31 11:13
zzfzy 发表于 2012-1-30 23:39
很不错的说,就是第二层透明度咋改?

通常在处理第二层透明度上都是直接使用半透明的图片,脚本本身并不处理,也无需处理。
作者: shironeko    时间: 2012-1-31 13:17
在前面写上$UseIndex = 11这样就可以用11号变量来控制第二层背景的透明度

  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.opacity =$game_variables[$UseIndex] #或者直接 @parallax2.opacity = 128
        @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)
      end
      Graphics.frame_reset
    end
作者: zzfzy    时间: 2012-2-2 12:31
直接加了 @parallax2.opacity = 128 .这样做第二层远景就不用调透明度了

作者: wjstfzqwe    时间: 2012-2-19 13:18
标题: 好东西
本帖最后由 wjstfzqwe 于 2012-2-19 13:18 编辑

好东西~~~赞一个
作者: ROM    时间: 2012-5-2 11:57
本帖最后由 ROM 于 2012-5-2 12:03 编辑

请教一下
从有用双远景的地图移动到别的地图
远景2出现在别的地图...

怎么办?


好了...自己土办法解决
其他地图弄张透明的远景2...
作者: woshilhz001    时间: 2012-8-16 14:12
脚本错误 范例下不动了  能再补一下吗~~
作者: sszny    时间: 2012-8-16 14:49
用不了啊,用无脚本的新game也用不了
麻烦楼主补下范例
作者: sszny    时间: 2012-8-16 15:11
本帖最后由 sszny 于 2012-8-31 15:19 编辑

#

#

# rm va双远景地图 by shironeko

#由于本脚本乃新手作品,可能会出现一些冲突和效率低下的情况,如发现错误,请见谅.
#


#==============================================================================
# ■ Spriteset_Map
#------------------------------------------------------------------------------
#  处理地图画面精灵和图块的类。本类在 Scene_Map 类的内部使用。
#==============================================================================

class Spriteset_Map

  #--------------------------------------------------------------------------
  # ● 生成远景图
  #--------------------------------------------------------------------------
  def create_parallax
    @parallax = Plane.new(@viewport1)
    @parallax.z = -100
    @parallax2 = Plane.new(@viewport1)
    @parallax2.z = 200
  end

  #--------------------------------------------------------------------------
  # ● 释放
  #--------------------------------------------------------------------------
  def dispose
    dispose_tilemap
    dispose_parallax
    dispose_parallax2
    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 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)
      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 * 32
        @parallax2.oy = $game_map.display_y * 32
        else
        @parallax.ox = $game_map.parallax_ox(@parallax.bitmap)
        @parallax.oy = $game_map.parallax_oy(@parallax.bitmap)
    end
  end
end
作者: 5396971    时间: 2012-9-15 00:09
范例下不了,粘贴了运行出现错误,提示unexpected tIDENTIFITER,expect')'    @parallax2.bitmap = Cache.parallax(@parallax_name +'_2'),这个该怎么解决?
作者: shironeko    时间: 2012-9-20 11:23
本帖最后由 shironeko 于 2012-9-20 11:32 编辑

已经重新上传了范例
作者: shironeko    时间: 2012-9-20 11:32
sszny 发表于 2012-8-16 15:11
#

#

已重新上传了范例http://pan.baidu.com/share/link?shareid=60220&uk=3676657676
作者: doublefred    时间: 2012-9-30 10:08
远景图 B 出现在别的图, 如何解决这个问题?
作者: badtea    时间: 2023-9-2 20:43
很有用,感谢你的付出





欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1