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

Project1

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

[RMVX发布] 超简单雾功能

[复制链接]

Lv1.梦旅人

前进之卒

梦石
0
星屑
55
在线时间
20 小时
注册时间
2010-8-17
帖子
176
跳转到指定楼层
1
发表于 2010-10-31 21:42:04 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
又是雾= =!
之前发的那个是有点复杂,后来想想其实可以借助远景图的设置来实现简单的雾功能,于是弄了这个。
  1. =begin
  2. 简单的地图效果

  3. 先把雾效果图重命名为含“Fog”的名字(比如"010_Fog"),放入Parallax 文件夹。
  4. 使用时在地图设置的远景图里选择你想要的雾效果图片
  5. 可以设置x/y轴的移动速度。
  6. 就这么简单,不过缺点在于只能全局设定雾的参数,不能每张更改透明度和色调等。
  7. 适合怕麻烦想快速实现简单雾效果的同学。
  8.   BY 红灯
  9. =end

  10. #-------------------------全局设定参数----------------------------------
  11. module Fog_Set
  12.   
  13.   #雾的透明度设置
  14.   Fog_Opacity = 100

  15.   #雾的合成方式设置,0为正常,1为加法,2为减法
  16.   Fog_Blend = 0
  17.   
  18.   #雾的色调合成,数组内依次为 红,绿,蓝,数值范围0~255
  19.   Fog_Tone = [0,0,0]
  20.   
  21. end

  22. #-----------------------------------------



  23. class Spriteset_Map
  24.   
  25.   alias fog_in initialize
  26.   alias fog_up update
  27.   alias fog_dispose dispose
  28.   alias fog_up_par update_parallax
  29.   
  30.   def initialize
  31.     create_fog
  32.     fog_in
  33.   end

  34.   def create_fog
  35.     @fog = Plane.new(@viewport)
  36.     @fog.z = 999
  37.     @fog.opacity = Fog_Set::Fog_Opacity
  38.     @fog.blend_type = Fog_Set::Fog_Blend
  39.     @fog.tone.red = Fog_Set::Fog_Tone[0]
  40.     @fog.tone.green = Fog_Set::Fog_Tone[1]
  41.     @fog.tone.blue = Fog_Set::Fog_Tone[2]
  42.   end
  43.   
  44.   def update_parallax
  45.     return if $game_map.parallax_name.include?("Fog")
  46.     fog_up_par
  47.   end
  48.   
  49.   def update_fog
  50.     return unless $game_map.parallax_name.include?("Fog")
  51.     if @fog_name != $game_map.parallax_name
  52.       @fog_name = $game_map.parallax_name
  53.       if @fog.bitmap != nil
  54.         @fog.bitmap.dispose
  55.         @fog.bitmap = nil
  56.       end
  57.       if @fog_name != ""
  58.         @fog.bitmap = Cache.parallax(@fog_name)
  59.       end
  60.       Graphics.frame_reset
  61.     end
  62.     @fog.ox = $game_map.calc_parallax_x(@fog.bitmap)
  63.     @fog.oy = $game_map.calc_parallax_y(@fog.bitmap)
  64.   end
  65.   
  66.   def update
  67.     fog_up
  68.     update_fog
  69.   end
  70.   
  71.   def dispose
  72.     fog_dispose
  73.     dispose_fog
  74.   end
  75.   
  76.   def dispose_fog
  77.     @fog.dispose
  78.   end
  79.   
  80. end
复制代码



如果不怕麻烦,请移步http://rpg.blue/thread-157253-1-1.html  = =!

最后,简单的范例。
简单雾.rar (264.61 KB, 下载次数: 186)

点评

= =!汗。这个……【好吧,是有受启发~】  发表于 2010-11-3 13:13
啊喂!盗版我的“双远景天气系统”啊。。。咋也是远景问题呐!T0T  发表于 2010-11-1 18:35

评分

参与人数 4星屑 +38 收起 理由
小鱼子 + 6 精品文章
冰舞蝶恋 + 24 支持,不过双远景的创意被盗版了,好悲伤啊.
狠、陌生 + 2 支持
壬穹雷光 + 6 支持

查看全部评分

开始拼吧!

Lv1.梦旅人

梦石
0
星屑
50
在线时间
234 小时
注册时间
2010-10-6
帖子
768
2
发表于 2010-10-31 21:44:00 | 只看该作者
前排支持前辈~~~~~

点评

速度好快!- -!  发表于 2010-10-31 21:51
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
66 小时
注册时间
2009-2-13
帖子
382
3
发表于 2010-10-31 22:07:35 | 只看该作者
请问,如果设置一个开关来开启/关闭雾效果,该怎样做呢?
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
108 小时
注册时间
2010-7-7
帖子
114
4
发表于 2010-10-31 22:22:30 | 只看该作者
发现更好的,实在太需要了!感激不不尽尽!
回复 支持 反对

使用道具 举报

Lv1.梦旅人

前进之卒

梦石
0
星屑
55
在线时间
20 小时
注册时间
2010-8-17
帖子
176
5
 楼主| 发表于 2010-10-31 22:58:13 | 只看该作者
回复 38571240 的帖子

可以在create_fog 里加个条件分歧,当开关某打开时,既值为true时,不透明度用默认设置,为false 时,不透明度为0,就行了。

  if $game_switches[10]
      @fog.opacity = Fog_Set::Fog_Opacity
  else
      @fog.opacity = 0
end

点评

非常感谢  发表于 2010-10-31 22:59
开始拼吧!
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv3.寻梦者 (禁止发言)

无能君

梦石
0
星屑
3455
在线时间
30 小时
注册时间
2010-9-18
帖子
354
6
发表于 2010-11-1 06:45:36 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1337
在线时间
675 小时
注册时间
2009-11-11
帖子
2790
7
发表于 2010-11-1 12:58:18 | 只看该作者
索引吧索引~~~~,希望效果好一点....LZ辛苦

嘿。嘿。嘿
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1323
在线时间
831 小时
注册时间
2007-12-25
帖子
1558
8
发表于 2010-11-2 22:32:12 | 只看该作者
:lol

点评

你是在纯表情么= =  发表于 2010-11-3 12:44

评分

参与人数 1星屑 -100 收起 理由
夕阳武士 -100 不扣难以平民愤

查看全部评分

回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
457
在线时间
1409 小时
注册时间
2010-9-23
帖子
557
9
发表于 2010-11-3 19:17:09 | 只看该作者
我不懂脚本,请问这是可以直接使用的?

点评

脚本开头和主楼都有使用说明,简单说1、插入脚本,2、把要用的雾文件重命名含Fog的文件名导入Parallax 文件夹,3、用远景图设置即可。可以见范例  发表于 2010-11-3 20:51
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-13 16:46

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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