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

Project1

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

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

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
416 小时
注册时间
2006-10-21
帖子
1245
1
发表于 2010-8-24 13:43:40 | 显示全部楼层
虽然用小图循环是个好主意而且雾会动,但是那样看起来好别扭哦!
冰舞蝶恋 发表于 2010-8-24 13:17

  1. 这个比较好用 但是。。也有点卡。。
  2. #==============================================================================
  3. # ★ ExMap_AutoPlane
  4. #------------------------------------------------------------------------------
  5. #  设定云、雾等显示在特定地图的脚本素材。
  6. #==============================================================================

  7. # 地图设定。
  8. # 请按照 地图ID、文件名、横向回圈、纵向回圈、Z 坐标、
  9. # 不透明度(0 ~ 255)、合成方式 (0:通常 1:加算 2:減算)的顺序填写
  10. # 例如) 地图ID为、将图片「fog.png」半透明并且显示在一般图片下面
  11. #   向左5向下2的速度回圈,那么就填写 => [5, "fog", 5, -2, 50, 128, 0]
  12. EXMAP_ATPLN_MAPS = [
  13.   [9, "雾", 5, 2, 50, 128, 0],
  14. ]
  15.    
  16. # 设定文件目录。
  17. # 指定雾图形文件位置 (Graphic/xxx/)
  18. # 0:System 1:Parallaxes 2:Pictures 3:Animations
  19. EXMAP_ATPLN_FOLDER = 2

  20. #------------------------------------------------------------------------------

  21. class Game_Map
  22.   alias _exmapln_setup setup
  23.   alias _exmapln_update update
  24.   alias _exmapln_set_display_pos set_display_pos
  25.   alias _exmapln_scroll_down scroll_down
  26.   alias _exmapln_scroll_left scroll_left
  27.   alias _exmapln_scroll_right scroll_right
  28.   alias _exmapln_scroll_up scroll_up
  29.   #--------------------------------------------------------------------------
  30.   # ○ 公開インスタンス変数 (追加定義)
  31.   #--------------------------------------------------------------------------
  32.   attr_reader   :fog                      # フォグデータ
  33.   #--------------------------------------------------------------------------
  34.   # ○ セットアップ (追加定義)
  35.   #     map_id : マップ ID
  36.   #--------------------------------------------------------------------------
  37.   def setup(map_id)
  38.     _exmapln_setup(map_id)
  39.     setup_fog
  40.   end
  41.   #--------------------------------------------------------------------------
  42.   # ☆ フォグのセットアップ
  43.   #--------------------------------------------------------------------------
  44.   def setup_fog
  45.     @fog = [0, "", 0, 0, 50, 0, 0]
  46.     @fog_sx = 0
  47.     @fog_sy = 0
  48.     @fog_x = 0
  49.     @fog_y = 0
  50.     for data in EXMAP_ATPLN_MAPS
  51.       if @map_id == data[0]
  52.         @fog = data
  53.         @fog_sx = data[2]
  54.         @fog_sy = data[3]
  55.         break
  56.       end
  57.     end
  58.   end
  59.   #--------------------------------------------------------------------------
  60.   # ○ フレーム更新 (追加定義)
  61.   #--------------------------------------------------------------------------
  62.   def update
  63.     _exmapln_update
  64.     update_fog
  65.   end
  66.   #--------------------------------------------------------------------------
  67.   # ○ 表示位置の設定 (追加定義)
  68.   #     x : 新しい表示 X 座標 (*256)
  69.   #     y : 新しい表示 Y 座標 (*256)
  70.   #--------------------------------------------------------------------------
  71.   def set_display_pos(x, y)
  72.     _exmapln_set_display_pos(x, y)
  73.     @fog_x = x
  74.     @fog_y = y
  75.   end
  76.   #--------------------------------------------------------------------------
  77.   # ☆ フォグ表示 X 座標の計算
  78.   #     bitmap : フォグビットマップ
  79.   #--------------------------------------------------------------------------
  80.   def calc_fog_x(bitmap)
  81.     return bitmap == nil ? 0 : @fog_x / 8
  82.   end
  83.   #--------------------------------------------------------------------------
  84.   # ☆ フォグ表示 Y 座標の計算
  85.   #     bitmap : フォグビットマップ
  86.   #--------------------------------------------------------------------------
  87.   def calc_fog_y(bitmap)
  88.     return bitmap == nil ? 0 : @fog_y / 8
  89.   end
  90.   #--------------------------------------------------------------------------
  91.   # ○ 下にスクロール (追加定義)
  92.   #     distance : スクロールする距離
  93.   #--------------------------------------------------------------------------
  94.   def scroll_down(distance)
  95.     last_y = @display_y
  96.     _exmapln_scroll_down(distance)
  97.     if loop_vertical?
  98.       @fog_y += distance
  99.     else
  100.       @fog_y += @display_y - last_y
  101.     end
  102.   end
  103.   #--------------------------------------------------------------------------
  104.   # ○ 左にスクロール (追加定義)
  105.   #     distance : スクロールする距離
  106.   #--------------------------------------------------------------------------
  107.   def scroll_left(distance)
  108.     last_x = @display_x
  109.     _exmapln_scroll_left(distance)
  110.     if loop_horizontal?
  111.       @fog_x -= distance
  112.     else
  113.       @fog_x += @display_x - last_x
  114.     end
  115.   end
  116.   #--------------------------------------------------------------------------
  117.   # ○ 右にスクロール (追加定義)
  118.   #     distance : スクロールする距離
  119.   #--------------------------------------------------------------------------
  120.   def scroll_right(distance)
  121.     last_x = @display_x
  122.     _exmapln_scroll_right(distance)
  123.     if loop_horizontal?
  124.       @fog_x += distance
  125.     else
  126.       @fog_x += @display_x - last_x
  127.     end
  128.   end
  129.   #--------------------------------------------------------------------------
  130.   # ○ 上にスクロール (追加定義)
  131.   #     distance : スクロールする距離
  132.   #--------------------------------------------------------------------------
  133.   def scroll_up(distance)
  134.     last_y = @display_y
  135.     _exmapln_scroll_up(distance)
  136.     if @fog != nil
  137.       if loop_vertical?
  138.         @fog_y -= distance
  139.       else
  140.         @fog_y += @display_y - last_y
  141.       end
  142.     end
  143.   end
  144.   #--------------------------------------------------------------------------
  145.   # ☆ フォグの更新
  146.   #--------------------------------------------------------------------------
  147.   def update_fog
  148.     @fog_x += @fog_sx * 2
  149.     @fog_y += @fog_sy * 2
  150. end
  151. end

  152. class Spriteset_Map
  153.   alias _exmapln_initialize initialize
  154.   alias _exmapln_dispose dispose
  155.   alias _exmapln_update update
  156.   #--------------------------------------------------------------------------
  157.   # ○ オブジェクト初期化 (追加定義)
  158.   #--------------------------------------------------------------------------
  159.   def initialize
  160.     create_fog
  161.     _exmapln_initialize
  162.   end
  163.   #--------------------------------------------------------------------------
  164.   # ☆ フォグの作成
  165.   #--------------------------------------------------------------------------
  166.   def create_fog
  167.     @fog = Plane.new
  168.     if $game_map.fog != nil
  169.       @fog.z = $game_map.fog[4]
  170.       @fog.opacity = $game_map.fog[5]
  171.       @fog.blend_type = $game_map.fog[6]
  172.     end
  173.   end
  174.   #--------------------------------------------------------------------------
  175.   # ○ 解放 (追加定義)
  176.   #--------------------------------------------------------------------------
  177.   def dispose
  178.     _exmapln_dispose
  179.     @fog.dispose
  180.   end
  181.   #--------------------------------------------------------------------------
  182.   # ○ フレーム更新 (追加定義)
  183.   #--------------------------------------------------------------------------
  184.   def update
  185.     _exmapln_update
  186.     update_fog
  187.   end
  188.   #--------------------------------------------------------------------------
  189.   # ☆ フォグの更新
  190.   #--------------------------------------------------------------------------
  191.   def update_fog
  192.     if @fog_name != $game_map.fog[1]
  193.       @fog_name = $game_map.fog[1]
  194.       if @fog.bitmap != nil
  195.         @fog.bitmap.dispose
  196.         @fog.bitmap = nil
  197.       end
  198.       if @fog_name != ""
  199.         case EXMAP_ATPLN_FOLDER
  200.         when 0
  201.           @fog.bitmap = Cache.system(@fog_name)
  202.         when 1
  203.           @fog.bitmap = Cache.parallax(@fog_name)
  204.         when 2
  205.           @fog.bitmap = Cache.picture(@fog_name)
  206.         when 3
  207.           @fog.bitmap = Cache.animation(@fog_name, 0)
  208.         end
  209.       end
  210.       Graphics.frame_reset
  211.     end
  212.     @fog.ox = $game_map.calc_fog_x(@fog.bitmap)
  213.     @fog.oy = $game_map.calc_fog_y(@fog.bitmap)
  214.   end
  215. end
复制代码

点评

我估计法国那个里面脚本应该很多 那站光素材就一堆 不过打开太慢 比日语还看不懂  发表于 2010-8-24 16:57
wangswz,这无关脚本的事情你也来凑合= =  发表于 2010-8-24 15:59
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-5-14 22:54

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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