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

Project1

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

[RMVX发布] (图)ps配合双远景脚本-Vx的雾效果~o(∩_∩)o

[复制链接]

Lv2.观梦者

花开堪折直须折

梦石
0
星屑
631
在线时间
943 小时
注册时间
2010-7-17
帖子
4963

贵宾

跳转到指定楼层
1
发表于 2010-8-24 12:40:23 | 显示全部楼层 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 冰舞蝶恋 于 2010-8-24 14:26 编辑

>>>首先,用到一个脚本。
  1. #==============================================================================
  2. # ■ Spriteset_Map(自己根据xp版的修改)
  3. #------------------------------------------------------------------------------
  4. #  处理地图画面活动块和元件的类。本类在
  5. # Scene_Map 类的内部使用。
  6. #==============================================================================

  7. class Spriteset_Map
  8.   #--------------------------------------------------------------------------
  9.   # ● 初始化对象
  10.   #--------------------------------------------------------------------------
  11.   def initialize
  12.     create_viewports
  13.     create_tilemap
  14.     create_parallax
  15.     create_characters
  16.     create_shadow
  17.     create_weather
  18.     create_pictures
  19.     create_timer
  20.     update
  21.   end
  22.   #--------------------------------------------------------------------------
  23.   # ● 生成视区
  24.   #--------------------------------------------------------------------------
  25.   def create_viewports
  26.     @viewport1 = Viewport.new(0, 0, 544, 416)
  27.     @viewport2 = Viewport.new(0, 0, 544, 416)
  28.     @viewport3 = Viewport.new(0, 0, 544, 416)
  29.     @viewport2.z = 50
  30.     @viewport3.z = 100
  31.   end
  32.   #--------------------------------------------------------------------------
  33.   # ● 生成元件图
  34.   #--------------------------------------------------------------------------
  35.   def create_tilemap
  36.     @tilemap = Tilemap.new(@viewport1)
  37.     @tilemap.bitmaps[0] = Cache.system("TileA1")
  38.     @tilemap.bitmaps[1] = Cache.system("TileA2")
  39.     @tilemap.bitmaps[2] = Cache.system("TileA3")
  40.     @tilemap.bitmaps[3] = Cache.system("TileA4")
  41.     @tilemap.bitmaps[4] = Cache.system("TileA5")
  42.     @tilemap.bitmaps[5] = Cache.system("TileB")
  43.     @tilemap.bitmaps[6] = Cache.system("TileC")
  44.     @tilemap.bitmaps[7] = Cache.system("TileD")
  45.     @tilemap.bitmaps[8] = Cache.system("TileE")
  46.     @tilemap.map_data = $game_map.data
  47.     @tilemap.passages = $game_map.passages
  48.   end
  49.   #--------------------------------------------------------------------------
  50.   # ● 生成远景
  51.   #--------------------------------------------------------------------------
  52.   def create_parallax
  53.     @parallax = Plane.new(@viewport1)
  54.     @parallax.z = -100
  55.     @parallax2 = Plane.new(@viewport1)
  56.     @parallax2.z = 300
  57.   end
  58.   #--------------------------------------------------------------------------
  59.   # ● 生成角色活动块
  60.   #--------------------------------------------------------------------------
  61.   def create_characters
  62.     @character_sprites = []
  63.     for i in $game_map.events.keys.sort
  64.       sprite = Sprite_Character.new(@viewport1, $game_map.events[i])
  65.       @character_sprites.push(sprite)
  66.     end
  67.     for vehicle in $game_map.vehicles
  68.       sprite = Sprite_Character.new(@viewport1, vehicle)
  69.       @character_sprites.push(sprite)
  70.     end
  71.     @character_sprites.push(Sprite_Character.new(@viewport1, $game_player))
  72.   end
  73.   #--------------------------------------------------------------------------
  74.   # ● 生成飞行船阴影活动块
  75.   #--------------------------------------------------------------------------
  76.   def create_shadow
  77.     @shadow_sprite = Sprite.new(@viewport1)
  78.     @shadow_sprite.bitmap = Cache.system("Shadow")
  79.     @shadow_sprite.ox = @shadow_sprite.bitmap.width / 2
  80.     @shadow_sprite.oy = @shadow_sprite.bitmap.height
  81.     @shadow_sprite.z = 180
  82.   end
  83.   #--------------------------------------------------------------------------
  84.   # ● 生成天气
  85.   #--------------------------------------------------------------------------
  86.   def create_weather
  87.     @weather = Spriteset_Weather.new(@viewport2)
  88.   end
  89.   #--------------------------------------------------------------------------
  90.   # ● 生成位图活动块
  91.   #--------------------------------------------------------------------------
  92.   def create_pictures
  93.     @picture_sprites = []
  94.     for i in 1..20
  95.       @picture_sprites.push(Sprite_Picture.new(@viewport2,
  96.         $game_map.screen.pictures[i]))
  97.     end
  98.   end
  99.   #--------------------------------------------------------------------------
  100.   # ● 生成计时器活动块
  101.   #--------------------------------------------------------------------------
  102.   def create_timer
  103.     @timer_sprite = Sprite_Timer.new(@viewport2)
  104.   end
  105.   #--------------------------------------------------------------------------
  106.   # ● 释放
  107.   #--------------------------------------------------------------------------
  108.   def dispose
  109.     dispose_tilemap
  110.     dispose_parallax
  111.     dispose_characters
  112.     dispose_shadow
  113.     dispose_weather
  114.     dispose_pictures
  115.     dispose_timer
  116.     dispose_viewports
  117.   end
  118.   #--------------------------------------------------------------------------
  119.   # ● 释放元件图
  120.   #--------------------------------------------------------------------------
  121.   def dispose_tilemap
  122.     @tilemap.dispose
  123.   end
  124.   #--------------------------------------------------------------------------
  125.   # ● 释放远景
  126.   #--------------------------------------------------------------------------
  127.   def dispose_parallax
  128.     @parallax.dispose
  129.     @parallax2.dispose
  130.   end
  131.   #--------------------------------------------------------------------------
  132.   # ● 释放角色活动块
  133.   #--------------------------------------------------------------------------
  134.   def dispose_characters
  135.     for sprite in @character_sprites
  136.       sprite.dispose
  137.     end
  138.   end
  139.   #--------------------------------------------------------------------------
  140.   # ● 释放飞行船阴影活动块
  141.   #--------------------------------------------------------------------------
  142.   def dispose_shadow
  143.     @shadow_sprite.dispose
  144.   end
  145.   #--------------------------------------------------------------------------
  146.   # ● 释放天气
  147.   #--------------------------------------------------------------------------
  148.   def dispose_weather
  149.     @weather.dispose
  150.   end
  151.   #--------------------------------------------------------------------------
  152.   # ● 释放位图活动块
  153.   #--------------------------------------------------------------------------
  154.   def dispose_pictures
  155.     for sprite in @picture_sprites
  156.       sprite.dispose
  157.     end
  158.   end
  159.   #--------------------------------------------------------------------------
  160.   # ● 释放计时器活动块
  161.   #--------------------------------------------------------------------------
  162.   def dispose_timer
  163.     @timer_sprite.dispose
  164.   end
  165.   #--------------------------------------------------------------------------
  166.   # ● 释放视区
  167.   #--------------------------------------------------------------------------
  168.   def dispose_viewports
  169.     @viewport1.dispose
  170.     @viewport2.dispose
  171.     @viewport3.dispose
  172.   end
  173.   #--------------------------------------------------------------------------
  174.   # ● 刷新画面
  175.   #--------------------------------------------------------------------------
  176.   def update
  177.     update_tilemap
  178.     update_parallax
  179.     update_characters
  180.     update_shadow
  181.     update_weather
  182.     update_pictures
  183.     update_timer
  184.     update_viewports
  185.   end
  186.   #--------------------------------------------------------------------------
  187.   # ● 刷新元件图
  188.   #--------------------------------------------------------------------------
  189.   def update_tilemap
  190.     @tilemap.ox = $game_map.display_x / 8
  191.     @tilemap.oy = $game_map.display_y / 8
  192.     @tilemap.update
  193.   end
  194.   #--------------------------------------------------------------------------
  195.   # ● 刷新远景
  196.   #--------------------------------------------------------------------------
  197.   def update_parallax
  198.     if @parallax_name != $game_map.parallax_name
  199.       @parallax_name = $game_map.parallax_name
  200.       if @parallax.bitmap != nil
  201.          @parallax.bitmap.dispose
  202.          @parallax2.bitmap.dispose
  203.          @parallax2.bitmap = nil
  204.          @parallax.bitmap = nil
  205.       end
  206.       if @parallax_name != ""
  207.          @parallax.bitmap = Cache.parallax(@parallax_name)
  208.          @parallax2.bitmap = Cache.parallax(@parallax_name+"_2")
  209.       end
  210.       Graphics.frame_reset
  211.      end
  212.     @parallax.ox = $game_map.calc_parallax_x(@parallax.bitmap)
  213.     @parallax.oy = $game_map.calc_parallax_y(@parallax.bitmap)
  214.     @parallax2.ox = $game_map.calc_parallax_x(@parallax.bitmap)
  215.     @parallax2.oy = $game_map.calc_parallax_y(@parallax.bitmap)
  216.   end
  217.   #--------------------------------------------------------------------------
  218.   # ● 刷新角色活动块
  219.   #--------------------------------------------------------------------------
  220.   def update_characters
  221.     for sprite in @character_sprites
  222.       sprite.update
  223.     end
  224.   end
  225.   #--------------------------------------------------------------------------
  226.   # ● 刷新飞行船阴影活动块
  227.   #--------------------------------------------------------------------------
  228.   def update_shadow
  229.     airship = $game_map.airship
  230.     @shadow_sprite.x = airship.screen_x
  231.     @shadow_sprite.y = airship.screen_y + airship.altitude
  232.     @shadow_sprite.opacity = airship.altitude * 8
  233.     @shadow_sprite.update
  234.   end
  235.   #--------------------------------------------------------------------------
  236.   # ● 刷新天气
  237.   #--------------------------------------------------------------------------
  238.   def update_weather
  239.     @weather.type = $game_map.screen.weather_type
  240.     @weather.max = $game_map.screen.weather_max
  241.     @weather.ox = $game_map.display_x / 8
  242.     @weather.oy = $game_map.display_y / 8
  243.     @weather.update
  244.   end
  245.   #--------------------------------------------------------------------------
  246.   # ● 刷新活动块位图
  247.   #--------------------------------------------------------------------------
  248.   def update_pictures
  249.     for sprite in @picture_sprites
  250.       sprite.update
  251.     end
  252.   end
  253.   #--------------------------------------------------------------------------
  254.   # ● 刷新计时器位图
  255.   #--------------------------------------------------------------------------
  256.   def update_timer
  257.     @timer_sprite.update
  258.   end
  259.   #--------------------------------------------------------------------------
  260.   # ● 刷新视区
  261.   #--------------------------------------------------------------------------
  262.   def update_viewports
  263.     @viewport1.tone = $game_map.screen.tone
  264.     @viewport1.ox = $game_map.screen.shake
  265.     @viewport2.color = $game_map.screen.flash_color
  266.     @viewport3.color.set(0, 0, 0, 255 - $game_map.screen.brightness)
  267.     @viewport1.update
  268.     @viewport2.update
  269.     @viewport3.update
  270.   end
  271. end
复制代码
双远景图脚本,不晓得作者是哪个嘞,只是从整合系统里扒下来的= =

>>>接着,用ps新建一张大一点的图,背景选透明。笔者就画3000*3000的图吧,为了以防地图画大了也能用。(注:笔者用的是photoshop CS4,由于版本关系大家将就着看吧)


>>>新建之后,不要做任何动作,空图保存在游戏文件夹的"\Graphics\Parallaxes"中。

>>>好的,请不要把ps关掉,继续画。

>>>用铅笔工具,把透明度调到40%~50%左右



>>>选好颜色,推荐纯白色或是浅蓝色。笔者用的是浅蓝色。


>>>开工咯!用铅笔工具画出几个简单的雾图形,先不用讲究美观啥的,直接随便画几个形状就好了。笔者画的是这样的(很烂哦~)↓


>>>各位,别心急~还没完。这些看起来太粗陋了!我们先进行模糊加工。
请选择上方的菜单栏→滤镜→模糊→高斯模糊
笔者手不够快截不到图,各位自己选吧。

>>>高斯模糊界面,把模糊的半径调到10像素左右。


>>>处理之后雾图形模糊了,看起来美观多了,笔者偷懒就只做到这一步,如果还想加特效的话就请自己做吧。

>>>选择存储为,或是另存为,保存在跟前面同一个文件夹,命名为“雾_2”(如果你原来的图形命名成别的名字,则是“名字_2”)

>>>回到RPGMAKER,在地图中选择远景图“雾气”,进行游戏测试。

>>>发放几张截图~很粗陋但是显示了游戏测试的效果~





更新加一个东西~请把以下的图放进你的远景图文件夹中~(远景图循环,动态雾)


同时请设置远景图的循环(这张远景图跟我的设置差不多就ok了)
大家好,我叫节操,有一天,我被吃了。
http://forever-dream.5d6d.com
永恒の梦制作组论坛

129993099
永恒の梦制作组QQ群

Lv2.观梦者

花开堪折直须折

梦石
0
星屑
631
在线时间
943 小时
注册时间
2010-7-17
帖子
4963

贵宾

2
 楼主| 发表于 2010-8-24 13:10:20 | 显示全部楼层
……
好吧,雾文件:


(PS:改了一张1000*1000的)
大家好,我叫节操,有一天,我被吃了。
http://forever-dream.5d6d.com
永恒の梦制作组论坛

129993099
永恒の梦制作组QQ群
回复 支持 反对

使用道具 举报

Lv2.观梦者

花开堪折直须折

梦石
0
星屑
631
在线时间
943 小时
注册时间
2010-7-17
帖子
4963

贵宾

3
 楼主| 发表于 2010-8-24 13:17:34 | 显示全部楼层
虽然用小图循环是个好主意而且雾会动,但是那样看起来好别扭哦!
大家好,我叫节操,有一天,我被吃了。
http://forever-dream.5d6d.com
永恒の梦制作组论坛

129993099
永恒の梦制作组QQ群
回复 支持 反对

使用道具 举报

Lv2.观梦者

花开堪折直须折

梦石
0
星屑
631
在线时间
943 小时
注册时间
2010-7-17
帖子
4963

贵宾

4
 楼主| 发表于 2010-8-25 18:43:50 | 显示全部楼层
wangswz
你的脚本怎么用啊- -
打不开
大家好,我叫节操,有一天,我被吃了。
http://forever-dream.5d6d.com
永恒の梦制作组论坛

129993099
永恒の梦制作组QQ群
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-5-14 13:24

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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