赞 | 1 |
VIP | 220 |
好人卡 | 25 |
积分 | 6 |
经验 | 51477 |
最后登录 | 2013-1-12 |
在线时间 | 943 小时 |
Lv2.观梦者 花开堪折直须折
- 梦石
- 0
- 星屑
- 631
- 在线时间
- 943 小时
- 注册时间
- 2010-7-17
- 帖子
- 4963
|
加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
本帖最后由 冰舞蝶恋 于 2010-8-24 14:26 编辑
>>>首先,用到一个脚本。- #==============================================================================
- # ■ Spriteset_Map(自己根据xp版的修改)
- #------------------------------------------------------------------------------
- # 处理地图画面活动块和元件的类。本类在
- # Scene_Map 类的内部使用。
- #==============================================================================
- class Spriteset_Map
- #--------------------------------------------------------------------------
- # ● 初始化对象
- #--------------------------------------------------------------------------
- def initialize
- create_viewports
- create_tilemap
- create_parallax
- create_characters
- create_shadow
- create_weather
- create_pictures
- create_timer
- update
- end
- #--------------------------------------------------------------------------
- # ● 生成视区
- #--------------------------------------------------------------------------
- def create_viewports
- @viewport1 = Viewport.new(0, 0, 544, 416)
- @viewport2 = Viewport.new(0, 0, 544, 416)
- @viewport3 = Viewport.new(0, 0, 544, 416)
- @viewport2.z = 50
- @viewport3.z = 100
- end
- #--------------------------------------------------------------------------
- # ● 生成元件图
- #--------------------------------------------------------------------------
- def create_tilemap
- @tilemap = Tilemap.new(@viewport1)
- @tilemap.bitmaps[0] = Cache.system("TileA1")
- @tilemap.bitmaps[1] = Cache.system("TileA2")
- @tilemap.bitmaps[2] = Cache.system("TileA3")
- @tilemap.bitmaps[3] = Cache.system("TileA4")
- @tilemap.bitmaps[4] = Cache.system("TileA5")
- @tilemap.bitmaps[5] = Cache.system("TileB")
- @tilemap.bitmaps[6] = Cache.system("TileC")
- @tilemap.bitmaps[7] = Cache.system("TileD")
- @tilemap.bitmaps[8] = Cache.system("TileE")
- @tilemap.map_data = $game_map.data
- @tilemap.passages = $game_map.passages
- end
- #--------------------------------------------------------------------------
- # ● 生成远景
- #--------------------------------------------------------------------------
- def create_parallax
- @parallax = Plane.new(@viewport1)
- @parallax.z = -100
- @parallax2 = Plane.new(@viewport1)
- @parallax2.z = 300
- end
- #--------------------------------------------------------------------------
- # ● 生成角色活动块
- #--------------------------------------------------------------------------
- def create_characters
- @character_sprites = []
- for i in $game_map.events.keys.sort
- sprite = Sprite_Character.new(@viewport1, $game_map.events[i])
- @character_sprites.push(sprite)
- end
- for vehicle in $game_map.vehicles
- sprite = Sprite_Character.new(@viewport1, vehicle)
- @character_sprites.push(sprite)
- end
- @character_sprites.push(Sprite_Character.new(@viewport1, $game_player))
- end
- #--------------------------------------------------------------------------
- # ● 生成飞行船阴影活动块
- #--------------------------------------------------------------------------
- def create_shadow
- @shadow_sprite = Sprite.new(@viewport1)
- @shadow_sprite.bitmap = Cache.system("Shadow")
- @shadow_sprite.ox = @shadow_sprite.bitmap.width / 2
- @shadow_sprite.oy = @shadow_sprite.bitmap.height
- @shadow_sprite.z = 180
- end
- #--------------------------------------------------------------------------
- # ● 生成天气
- #--------------------------------------------------------------------------
- def create_weather
- @weather = Spriteset_Weather.new(@viewport2)
- end
- #--------------------------------------------------------------------------
- # ● 生成位图活动块
- #--------------------------------------------------------------------------
- def create_pictures
- @picture_sprites = []
- for i in 1..20
- @picture_sprites.push(Sprite_Picture.new(@viewport2,
- $game_map.screen.pictures[i]))
- end
- end
- #--------------------------------------------------------------------------
- # ● 生成计时器活动块
- #--------------------------------------------------------------------------
- def create_timer
- @timer_sprite = Sprite_Timer.new(@viewport2)
- end
- #--------------------------------------------------------------------------
- # ● 释放
- #--------------------------------------------------------------------------
- def dispose
- dispose_tilemap
- dispose_parallax
- dispose_characters
- dispose_shadow
- dispose_weather
- dispose_pictures
- dispose_timer
- dispose_viewports
- end
- #--------------------------------------------------------------------------
- # ● 释放元件图
- #--------------------------------------------------------------------------
- def dispose_tilemap
- @tilemap.dispose
- end
- #--------------------------------------------------------------------------
- # ● 释放远景
- #--------------------------------------------------------------------------
- def dispose_parallax
- @parallax.dispose
- @parallax2.dispose
- end
- #--------------------------------------------------------------------------
- # ● 释放角色活动块
- #--------------------------------------------------------------------------
- def dispose_characters
- for sprite in @character_sprites
- sprite.dispose
- end
- end
- #--------------------------------------------------------------------------
- # ● 释放飞行船阴影活动块
- #--------------------------------------------------------------------------
- def dispose_shadow
- @shadow_sprite.dispose
- end
- #--------------------------------------------------------------------------
- # ● 释放天气
- #--------------------------------------------------------------------------
- def dispose_weather
- @weather.dispose
- end
- #--------------------------------------------------------------------------
- # ● 释放位图活动块
- #--------------------------------------------------------------------------
- def dispose_pictures
- for sprite in @picture_sprites
- sprite.dispose
- end
- end
- #--------------------------------------------------------------------------
- # ● 释放计时器活动块
- #--------------------------------------------------------------------------
- def dispose_timer
- @timer_sprite.dispose
- end
- #--------------------------------------------------------------------------
- # ● 释放视区
- #--------------------------------------------------------------------------
- def dispose_viewports
- @viewport1.dispose
- @viewport2.dispose
- @viewport3.dispose
- end
- #--------------------------------------------------------------------------
- # ● 刷新画面
- #--------------------------------------------------------------------------
- def update
- update_tilemap
- update_parallax
- update_characters
- update_shadow
- update_weather
- update_pictures
- update_timer
- update_viewports
- end
- #--------------------------------------------------------------------------
- # ● 刷新元件图
- #--------------------------------------------------------------------------
- def update_tilemap
- @tilemap.ox = $game_map.display_x / 8
- @tilemap.oy = $game_map.display_y / 8
- @tilemap.update
- end
- #--------------------------------------------------------------------------
- # ● 刷新远景
- #--------------------------------------------------------------------------
- def update_parallax
- if @parallax_name != $game_map.parallax_name
- @parallax_name = $game_map.parallax_name
- if @parallax.bitmap != nil
- @parallax.bitmap.dispose
- @parallax2.bitmap.dispose
- @parallax2.bitmap = nil
- @parallax.bitmap = nil
- end
- if @parallax_name != ""
- @parallax.bitmap = Cache.parallax(@parallax_name)
- @parallax2.bitmap = Cache.parallax(@parallax_name+"_2")
- end
- Graphics.frame_reset
- end
- @parallax.ox = $game_map.calc_parallax_x(@parallax.bitmap)
- @parallax.oy = $game_map.calc_parallax_y(@parallax.bitmap)
- @parallax2.ox = $game_map.calc_parallax_x(@parallax.bitmap)
- @parallax2.oy = $game_map.calc_parallax_y(@parallax.bitmap)
- end
- #--------------------------------------------------------------------------
- # ● 刷新角色活动块
- #--------------------------------------------------------------------------
- def update_characters
- for sprite in @character_sprites
- sprite.update
- end
- end
- #--------------------------------------------------------------------------
- # ● 刷新飞行船阴影活动块
- #--------------------------------------------------------------------------
- def update_shadow
- airship = $game_map.airship
- @shadow_sprite.x = airship.screen_x
- @shadow_sprite.y = airship.screen_y + airship.altitude
- @shadow_sprite.opacity = airship.altitude * 8
- @shadow_sprite.update
- end
- #--------------------------------------------------------------------------
- # ● 刷新天气
- #--------------------------------------------------------------------------
- def update_weather
- @weather.type = $game_map.screen.weather_type
- @weather.max = $game_map.screen.weather_max
- @weather.ox = $game_map.display_x / 8
- @weather.oy = $game_map.display_y / 8
- @weather.update
- end
- #--------------------------------------------------------------------------
- # ● 刷新活动块位图
- #--------------------------------------------------------------------------
- def update_pictures
- for sprite in @picture_sprites
- sprite.update
- end
- end
- #--------------------------------------------------------------------------
- # ● 刷新计时器位图
- #--------------------------------------------------------------------------
- def update_timer
- @timer_sprite.update
- end
- #--------------------------------------------------------------------------
- # ● 刷新视区
- #--------------------------------------------------------------------------
- def update_viewports
- @viewport1.tone = $game_map.screen.tone
- @viewport1.ox = $game_map.screen.shake
- @viewport2.color = $game_map.screen.flash_color
- @viewport3.color.set(0, 0, 0, 255 - $game_map.screen.brightness)
- @viewport1.update
- @viewport2.update
- @viewport3.update
- end
- end
复制代码 双远景图脚本,不晓得作者是哪个嘞,只是从整合系统里扒下来的= =
>>>接着,用ps新建一张大一点的图,背景选透明。笔者就画3000*3000的图吧,为了以防地图画大了也能用。(注:笔者用的是photoshop CS4,由于版本关系大家将就着看吧)
>>>新建之后,不要做任何动作,空图保存在游戏文件夹的"\Graphics\Parallaxes"中。
>>>好的,请不要把ps关掉,继续画。
>>>用铅笔工具,把透明度调到40%~50%左右
>>>选好颜色,推荐纯白色或是浅蓝色。笔者用的是浅蓝色。
>>>开工咯!用铅笔工具画出几个简单的雾图形,先不用讲究美观啥的,直接随便画几个形状就好了。笔者画的是这样的(很烂哦~)↓
>>>各位,别心急~还没完。这些看起来太粗陋了!我们先进行模糊加工。
请选择上方的菜单栏→滤镜→模糊→高斯模糊
笔者手不够快截不到图,各位自己选吧。
>>>高斯模糊界面,把模糊的半径调到10像素左右。
>>>处理之后雾图形模糊了,看起来美观多了,笔者偷懒就只做到这一步,如果还想加特效的话就请自己做吧。
>>>选择存储为,或是另存为,保存在跟前面同一个文件夹,命名为“雾_2”(如果你原来的图形命名成别的名字,则是“名字_2”)
>>>回到RPGMAKER,在地图中选择远景图“雾气”,进行游戏测试。
>>>发放几张截图~很粗陋但是显示了游戏测试的效果~
更新加一个东西~请把以下的图放进你的远景图文件夹中~(远景图循环,动态雾)
同时请设置远景图的循环(这张远景图跟我的设置差不多就ok了)
|
|