Project1

标题: VX雾功能【让VX能拥有像XP一样的雾功能】 [打印本页]

作者: 红灯    时间: 2010-9-26 16:43
标题: VX雾功能【让VX能拥有像XP一样的雾功能】
首先声明:在下也是个新人。最近在学习VX的时候,也想制作一个游戏来提升下自己的技术,正好自己的游戏要用到这个雾的功能,在6R上有看到几个类似的脚本,不过都不大满意。于是参照Hevendor所写的一个雾脚本,自己改写了一个,用Zoom放大缩小雾图形有点囧,没写进去,其它的基本和XP一样了。具体设置见脚本开头。



一个小小的范例:
VX雾功能.rar (306.45 KB, 下载次数: 3516)
  1. #=========================================================================
  2. #VX的雾效果,可以使VX拥有和XP一样的雾效果
  3. #原脚本由Hevendor所写,改写By 红灯,转载使用时请保留此信息,谢谢。
  4. #请在脚本中设置。具体说明如下。
  5. #=========================================================================


  6. module Fog_Set   
  7.   
  8. #====所有设置请在下面进行===============================================
  9.   
  10.   #雾的名称,可以添加雾的图片,图片请放到“Pictures”文件夹下面。
  11.   #每个不同的雾图片名称请对应一个相应的数字
  12.   #格式为:数字 => "雾图片的名称"  
  13.   Fog_Names = {1 => "FOG01.png",2 => "010-Water04.png"}
  14.   
  15.   #想要开启雾效果的地图ID和所对应想要应用的雾图形
  16.   #格式为:地图ID => 上面雾名称对应的数字  
  17.   Fog_Maps = {001 =>1,002 =>2}
  18.   
  19.   #雾的透明度设置
  20.   Fog_Opacity = {1 => 90,2 =>40}
  21.   
  22.   #雾的合成方式设置,0为正常,1为加法,2为减法
  23.   Fog_Blend = {1 =>0,2 =>0}
  24.   
  25.   #雾的x,y向滚动速度
  26.   Fog_Ox_Oy = {1 => [1,1],2 => [2,1]}
  27.   
  28.   #雾的色调合成,数组内依次为 红,绿,蓝,数值范围0~255
  29.   Fog_Tone = {1 =>[0,0,0],2 =>[0,0,200]}


  30. end


  31. #—======================================================================


  32. class Game_Map
  33.   attr_accessor :map_id
  34.   attr_accessor :fog_ox
  35.   attr_accessor :fog_oy
  36.   
  37.   alias fog_map_up update
  38.   alias fog_map_in initialize
  39.   
  40.   def initialize
  41.     @fog_ox = 0
  42.     @fog_oy = 0
  43.     @map_id = map_id
  44.     fog_map_in
  45.   end
  46.   
  47.   def fog_update
  48.     if Fog_Set::Fog_Maps.include?($game_map.map_id)
  49.       @fog_ox -=Fog_Set::Fog_Ox_Oy[Fog_Set::Fog_Maps[@map_id]][0]
  50.       @fog_oy -=Fog_Set::Fog_Ox_Oy[Fog_Set::Fog_Maps[@map_id]][1]
  51.     end  
  52.   end  
  53.   
  54.   def update
  55.     fog_map_up
  56.     fog_update
  57.   end  
  58. end  


  59. class Spriteset_Map
  60.   
  61.   alias fog_in initialize
  62.   alias fog_view create_viewports
  63.   alias fog_dispose dispose
  64.   alias fog_viewup update
  65.   
  66.   def initialize
  67.     fog_in
  68.     create_fog
  69.   end
  70.   
  71.   def creat_viewports
  72.     @viewport = Viewport.new(0, 0, 544,416)
  73.     @viewport.z = 8
  74.     fog_view
  75.   end
  76.   
  77.   def create_fog
  78.     @fog = Plane.new(@viewport)
  79.     if Fog_Set::Fog_Maps.include?($game_map.map_id)
  80.       fog_no = Fog_Set::Fog_Maps[$game_map.map_id]
  81.       fog_up
  82.       @fog.bitmap = Cache.picture(Fog_Set::Fog_Names[fog_no])
  83.       @fog.opacity = Fog_Set::Fog_Opacity[fog_no]
  84.       @fog.blend_type = Fog_Set::Fog_Blend[fog_no]
  85.       @fog.tone.red = Fog_Set::Fog_Tone[fog_no][0]
  86.       @fog.tone.green = Fog_Set::Fog_Tone[fog_no][1]
  87.       @fog.tone.blue = Fog_Set::Fog_Tone[fog_no][2]
  88.     end
  89.   end
  90.   
  91.   def fog_up
  92.     if @fog !=nil
  93.       @fog.ox =  $game_map.fog_ox
  94.       @fog.oy =  $game_map.fog_oy
  95.     end  
  96.   end  
  97.   
  98.   def update
  99.     fog_viewup
  100.     fog_up
  101.   end  
  102.   
  103.   def dispose_fog
  104.     @fog.dispose
  105.   end
  106.   
  107.   def dispose
  108.     dispose_fog
  109.     fog_dispose
  110.   end
  111. end  

  112.    
复制代码

作者: 429259591    时间: 2010-9-26 17:57
很不错啊!脚本盲膜拜,顶!
作者: 冰舞蝶恋    时间: 2010-10-2 23:25
这个、、应该。不用脚本吧……利用双远景自己发了两个教程= .=
http://rpg.blue/forum.php?mod=vi ... 54470&from=home
http://rpg.blue/forum.php?mod=vi ... 54724&from=home
作者: kn0504    时间: 2010-10-4 08:42
提示: 作者被禁止或删除 内容自动屏蔽
作者: 黑白旋律    时间: 2010-10-24 11:32
支持,不过我不怎么需要
作者: DeathKing    时间: 2010-10-24 12:04
第一个还真实一点吧 ^_^
作者: 九夜神尊    时间: 2010-10-24 16:06
本帖最后由 九夜神尊 于 2010-10-24 16:15 编辑

现在才看到,晚了点吧。不过设置很麻烦呀……

建议使用位偏移:

给玩家预留500个敌人设置空间,然后500以后的敌人都为设置对应地图的雾图形。如,设置514号敌人
就是设置14号地图的雾图形。
优势→
可以直接选择图片,可以直接控制色调,然后敌人的HP做成不透明度,MP做成滚动速度。
还有那么多填写位置呢,多少功能都够用。
作者: fux2    时间: 2010-10-24 16:11
是我火星了....原来VX没有雾功能....
作者: qazsdwexc    时间: 2010-10-31 14:16
刚好需要,感激不尽啊!!
作者: 黑崎一护    时间: 2010-11-3 20:31
我也是新人,愿意和楼主一起学习。
作者: jerrypan    时间: 2011-8-29 18:14
还不错。
作者: joy清和    时间: 2013-7-23 13:50
請問樓主 要添加比较多的Fog_Maps到脚本里怎么办…………试过脚本最多只能添加3个
作者: LERLCY    时间: 2013-11-29 19:13
拆过一位日本作者的游戏,里面有雾的脚本,自那后就会了。




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