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

Project1

 找回密码
 注册会员
搜索
查看: 960|回复: 4

[已经过期] 求雾脚本的修改

[复制链接]

Lv1.梦旅人

梦石
0
星屑
60
在线时间
182 小时
注册时间
2009-4-22
帖子
208
发表于 2014-1-7 20:50:40 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 gz29767562 于 2014-1-8 12:54 编辑

RUBY 代码复制
  1. #==============================================================================
  2. # ★ ExMap_AutoPlane
  3. #------------------------------------------------------------------------------
  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. [0, "fog", -2, -1, 50, 30, 0],
  14. [15,"fog",-1,-1,50,55,2],
  15. [16,"fog",-1,-1,50,55,2],
  16. [17,"fog",-1,-1,50,55,2],
  17. [18,"fog",-1,-1,50,55,2],
  18.  
  19. # 设定文件目录。
  20. # 指定雾图形文件位置 (Graphic/xxx/)
  21. # 0:System 1:Parallaxes 2:Pictures 3:Animations
  22. EXMAP_ATPLN_FOLDER = 1
  23.  
  24. #------------------------------------------------------------------------------
  25.  
  26. class Game_Map
  27. alias _exmapln_setup setup
  28. alias _exmapln_update update
  29. alias _exmapln_set_display_pos set_display_pos
  30. alias _exmapln_scroll_down scroll_down
  31. alias _exmapln_scroll_left scroll_left
  32. alias _exmapln_scroll_right scroll_right
  33. alias _exmapln_scroll_up scroll_up
  34. #--------------------------------------------------------------------------
  35. # ○ 公開インスタンス変数 (追加定義)
  36. #--------------------------------------------------------------------------
  37. attr_reader   :fog                      # フォグデータ
  38. #--------------------------------------------------------------------------
  39. # ○ セットアップ (追加定義)
  40. #     map_id : マップ ID
  41. #--------------------------------------------------------------------------
  42. def setup(map_id)
  43.    _exmapln_setup(map_id)
  44.    setup_fog
  45. end
  46. #--------------------------------------------------------------------------
  47. # ☆ フォグのセットアップ
  48. #--------------------------------------------------------------------------
  49. def setup_fog
  50.    [url=home.php?mod=space&uid=14217]@fog[/url] = [0, "", 0, 0, 50, 0, 0]
  51.    @fog_sx = 0
  52.    @fog_sy = 0
  53.    @fog_x = 0
  54.    @fog_y = 0
  55.    for data in EXMAP_ATPLN_MAPS
  56.      if @map_id == data[0]
  57.        [url=home.php?mod=space&uid=14217]@fog[/url] = data
  58.        @fog_sx = data[2]
  59.        @fog_sy = data[3]
  60.        break
  61.      end
  62.    end
  63. end
  64. #--------------------------------------------------------------------------
  65. # ○ フレーム更新 (追加定義)
  66. #--------------------------------------------------------------------------
  67. def update
  68.    _exmapln_update
  69.    update_fog
  70. end
  71. #--------------------------------------------------------------------------
  72. # ○ 表示位置の設定 (追加定義)
  73. #     x : 新しい表示 X 座標 (*256)
  74. #     y : 新しい表示 Y 座標 (*256)
  75. #--------------------------------------------------------------------------
  76. def set_display_pos(x, y)
  77.    _exmapln_set_display_pos(x, y)
  78.    @fog_x = x
  79.    @fog_y = y
  80. end
  81. #--------------------------------------------------------------------------
  82. # ☆ フォグ表示 X 座標の計算
  83. #     bitmap : フォグビットマップ
  84. #--------------------------------------------------------------------------
  85. def calc_fog_x(bitmap)
  86.    return bitmap == nil ? 0 : @fog_x / 8
  87. end
  88. #--------------------------------------------------------------------------
  89. # ☆ フォグ表示 Y 座標の計算
  90. #     bitmap : フォグビットマップ
  91. #--------------------------------------------------------------------------
  92. def calc_fog_y(bitmap)
  93.    return bitmap == nil ? 0 : @fog_y / 8
  94. end
  95. #--------------------------------------------------------------------------
  96. # ○ 下にスクロール (追加定義)
  97. #     distance : スクロールする距離
  98. #--------------------------------------------------------------------------
  99. def scroll_down(distance)
  100.    last_y = @display_y
  101.    _exmapln_scroll_down(distance)
  102.    if loop_vertical?
  103.      @fog_y += distance
  104.    else
  105.      @fog_y += @display_y - last_y
  106.    end
  107. end
  108. #--------------------------------------------------------------------------
  109. # ○ 左にスクロール (追加定義)
  110. #     distance : スクロールする距離
  111. #--------------------------------------------------------------------------
  112. def scroll_left(distance)
  113.    last_x = @display_x
  114.    _exmapln_scroll_left(distance)
  115.    if loop_horizontal?
  116.      @fog_x -= distance
  117.    else
  118.      @fog_x += @display_x - last_x
  119.    end
  120. end
  121. #--------------------------------------------------------------------------
  122. # ○ 右にスクロール (追加定義)
  123. #     distance : スクロールする距離
  124. #--------------------------------------------------------------------------
  125. def scroll_right(distance)
  126.    last_x = @display_x
  127.    _exmapln_scroll_right(distance)
  128.    if loop_horizontal?
  129.      @fog_x += distance
  130.    else
  131.      @fog_x += @display_x - last_x
  132.    end
  133. end
  134. #--------------------------------------------------------------------------
  135. # ○ 上にスクロール (追加定義)
  136. #     distance : スクロールする距離
  137. #--------------------------------------------------------------------------
  138. def scroll_up(distance)
  139.    last_y = @display_y
  140.    _exmapln_scroll_up(distance)
  141.    if [url=home.php?mod=space&uid=14217]@fog[/url] != nil
  142.      if loop_vertical?
  143.        @fog_y -= distance
  144.      else
  145.        @fog_y += @display_y - last_y
  146.      end
  147.    end
  148. end
  149. #--------------------------------------------------------------------------
  150. # ☆ フォグの更新
  151. #--------------------------------------------------------------------------
  152. def update_fog
  153.    @fog_x += @fog_sx * 2
  154.    @fog_y += @fog_sy * 2
  155. end
  156. end
  157.  
  158. class Spriteset_Map
  159. alias _exmapln_initialize initialize
  160. alias _exmapln_dispose dispose
  161. alias _exmapln_update update
  162. #--------------------------------------------------------------------------
  163. # ○ オブジェクト初期化 (追加定義)
  164. #--------------------------------------------------------------------------
  165. def initialize
  166.    create_fog
  167.    _exmapln_initialize
  168. end
  169. #--------------------------------------------------------------------------
  170. # ☆ フォグの作成
  171. #--------------------------------------------------------------------------
  172. def create_fog
  173.    @fog = Plane.new
  174.    if $game_map.fog != nil
  175.      @fog.z = $game_map.fog[4]
  176.      @fog.opacity = $game_map.fog[5]
  177.      @fog.blend_type = $game_map.fog[6]
  178.    end
  179. end
  180. #--------------------------------------------------------------------------
  181. # ○ 解放 (追加定義)
  182. #--------------------------------------------------------------------------
  183. def dispose
  184.    _exmapln_dispose
  185.    @fog.dispose
  186. end
  187. #--------------------------------------------------------------------------
  188. # ○ フレーム更新 (追加定義)
  189. #--------------------------------------------------------------------------
  190. def update
  191.    _exmapln_update
  192.    update_fog
  193. end
  194. #--------------------------------------------------------------------------
  195. # ☆ フォグの更新
  196. #--------------------------------------------------------------------------
  197. def update_fog
  198.    if @fog_name != $game_map.fog[1]
  199.      @fog_name = $game_map.fog[1]
  200.      if @fog.bitmap != nil
  201.        @fog.bitmap.dispose
  202.        @fog.bitmap = nil
  203.      end
  204.      if @fog_name != ""
  205.        case EXMAP_ATPLN_FOLDER
  206.        when 0
  207.          @fog.bitmap = Cache.system(@fog_name)
  208.        when 1
  209.          @fog.bitmap = Cache.parallax(@fog_name)
  210.        when 2
  211.          @fog.bitmap = Cache.picture(@fog_name)
  212.        when 3
  213.          @fog.bitmap = Cache.animation(@fog_name, 0)
  214.        end
  215.      end
  216.      Graphics.frame_reset
  217.    end
  218.    @fog.ox = $game_map.calc_fog_x(@fog.bitmap)
  219.    @fog.oy = $game_map.calc_fog_y(@fog.bitmap)
  220. end
  221. end



脚本我不会,觉得是不是改76行的啊?

谁能帮忙把这个脚本改成适合于1024X768分辨率的,谢谢
   

评分

参与人数 1星屑 -20 收起 理由
铃仙·优昙华院·因幡 -20 标题不明所以

查看全部评分

Lv1.梦旅人

梦石
0
星屑
55
在线时间
218 小时
注册时间
2013-12-17
帖子
386
发表于 2014-1-7 22:48:11 | 显示全部楼层
应该是在Spriteset_Map里设置吧。
可否贴出工程

点评

补充:应该跟人家这个脚本半分五毛的关系也没有  发表于 2014-1-7 22:48
RM脚本定制/修改/整合 群:143356012(入群注明来意)
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
165
在线时间
833 小时
注册时间
2012-9-16
帖子
1810
发表于 2014-1-8 11:56:56 | 显示全部楼层
13到17行改啊!都写着设置了。。。看说明自己用。连脚本都不会用那怎么行,还不如不用做游戏

——旧坑欢迎戳
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
60
在线时间
182 小时
注册时间
2009-4-22
帖子
208
 楼主| 发表于 2014-1-8 12:56:12 | 显示全部楼层
yangjunyin2002 发表于 2014-1-8 11:56
13到17行改啊!都写着设置了。。。看说明自己用。连脚本都不会用那怎么行,还不如不用做游戏 ...

大哥脚本我知道怎么用,只是我用的1024X768的分辨率,这个分辨率似乎和这个脚本有BUG
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
60
在线时间
182 小时
注册时间
2009-4-22
帖子
208
 楼主| 发表于 2014-1-8 13:04:07 | 显示全部楼层
国产吃货 发表于 2014-1-7 22:48
应该是在Spriteset_Map里设置吧。
可否贴出工程

http://pan.baidu.com/s/1o6NjVJ0
这个事工程,我只想“森林”的雾图形能喝“野外”能显示的一样,谢谢
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2022-6-25 10:09

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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