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

Project1

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

[讨论] 【翻译】让VX图层无穷无尽!(BUG已解决)

[复制链接]

Lv4.逐梦者

醉啸 长风万里

梦石
0
星屑
6157
在线时间
6592 小时
注册时间
2007-12-16
帖子
4501

贵宾

跳转到指定楼层
1
发表于 2010-10-31 14:00:35 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 仲秋启明 于 2011-2-13 20:11 编辑

好的,既然要出地图教程了,就应该关注一下地图加强,于是,搜到了,翻译了
原版的图片宣传:

自己改后的使用方法:

可以无穷无尽,最多我也不知道会到多少
直接上脚本:

  1. #==============================================================================
  2. # ■ VX图层无穷无尽
  3. #------------------------------------------------------------------------------
  4. #  原作BY:S. F. LaValle   翻译、修改BY:仲秋启明
  5. #  使用方法:在子地图名的最后加上“LX”(X为第几添加层)
  6. #  更新手记:2011.2.13 解决战斗渐变问题
  7. #==============================================================================
  8. class Scene_Map < Scene_Base
  9.   alias start_2 start
  10.   alias update_2 update
  11.   attr_reader :map_layer_spritesets
  12.   def start
  13.     start_2
  14.     setup_map_layers
  15.   end
  16.   def update
  17.     for i in 0...@map_layer_spritesets.size
  18.       @map_layers[i].update
  19.       @map_layer_spritesets[i].update
  20.     end
  21.     update_2
  22.   end  
  23.   def update_transfer_player
  24.     return unless $game_player.transfer?
  25.     fade = (Graphics.brightness > 0)
  26.     fadeout(30) if fade
  27.     @spriteset.dispose
  28.     for i in 0...@map_layer_spritesets.size
  29.       @map_layer_spritesets[i].dispose
  30.     end
  31.     $game_player.perform_transfer
  32.     $game_map.autoplay
  33.     $game_map.update
  34.     Graphics.wait(15)
  35.     @spriteset = Spriteset_Map.new
  36.     setup_map_layers
  37.     fadein(30) if fade
  38.     Input.update
  39.   end
  40.   def call_battle
  41.     @spriteset.update
  42.     Graphics.update
  43.     $game_player.make_encounter_count
  44.     $game_player.straighten
  45.     for i in 0...@map_layer_spritesets.size
  46.       @map_layer_spritesets[i].dispose
  47.     end
  48.     $game_temp.map_bgm = RPG::BGM.last
  49.     $game_temp.map_bgs = RPG::BGS.last
  50.     RPG::BGM.stop
  51.     RPG::BGS.stop
  52.     Sound.play_battle_start
  53.     $game_system.battle_bgm.play
  54.     $game_temp.next_scene = nil
  55.     $scene = Scene_Battle.new
  56.   end
  57.   def setup_map_layers
  58.     maps = load_data("Data/MapInfos.rvdata")
  59.     game_map_name = maps[$game_map.map_id].name
  60.     @map_layers = []
  61.     @map_layer_spritesets = []
  62.     map_names = []
  63.     layer_map_names = []
  64.     layer_index = []
  65.     c = maps.keys
  66.     d = c.max
  67.     for i in 1..d
  68.       unless maps[i] == nil
  69.         a = nil
  70.         map_names.push(maps[i].name)
  71.         a = maps[i].name =~ /(l|L)\d+/
  72.         layer_map_names.push(maps[i].name) if a != nil
  73.         layer_index.push(maps.index(maps[i])) if a != nil
  74.       end
  75.     end
  76.     for string in layer_map_names
  77.       string.chop! until string == game_map_name or string == ""
  78.     end
  79.     if layer_map_names.include?(game_map_name)
  80.       for i in 0...layer_map_names.size
  81.         if layer_map_names[i] != ""
  82.           map = Game_Map.new
  83.           map.setup(layer_index[i])
  84.           @map_layer_spritesets.push(Spriteset_Map_2.new(map))
  85.           @map_layers.push(map)
  86.         end
  87.       end
  88.     end
  89.   end
  90. end

  91. class Spriteset_Map_2 < Spriteset_Map
  92.   def initialize(layer)
  93.     @layer = layer
  94.     create_viewports
  95.     create_tilemap
  96.     update
  97.   end
  98.   def update
  99.     update_tilemap
  100.     update_viewports
  101.   end
  102.   def dispose
  103.     @tilemap.dispose
  104.   end
  105.   def create_tilemap(a1 = nil, a2 = nil, a3 = nil, a4 = nil, a5 = nil, b = nil, c = nil, d = nil, e = nil)
  106.     @tilemap = Tilemap.new(@viewport1)
  107.     @tilemap.bitmaps[0] = (a1 == nil ? Cache.system("TileA1") : a1)
  108.     @tilemap.bitmaps[1] = (a2 == nil ? Cache.system("TileA2") : a2)
  109.     @tilemap.bitmaps[2] = (a3 == nil ? Cache.system("TileA3") : a3)
  110.     @tilemap.bitmaps[3] = (a4 == nil ? Cache.system("TileA4") : a4)
  111.     @tilemap.bitmaps[4] = (a5 == nil ? Cache.system("TileA5") : a5)
  112.     @tilemap.bitmaps[5] = (b == nil ? Cache.system("TileB") : b)
  113.     @tilemap.bitmaps[6] = (c == nil ? Cache.system("TileC") : c)
  114.     @tilemap.bitmaps[7] = (d == nil ? Cache.system("TileD") : d)
  115.     @tilemap.bitmaps[8] = (e == nil ? Cache.system("TileE") : e)
  116.     @tilemap.map_data = @layer.data
  117.     @tilemap.passages = @layer.passages
  118.   end
  119.   def update_viewports
  120.     @viewport1.tone = @layer.screen.tone
  121.     @viewport1.ox = @layer.screen.shake
  122.     @viewport2.color = @layer.screen.flash_color
  123.     @viewport3.color.set(0, 0, 0, 255 - @layer.screen.brightness)
  124.     @viewport1.update
  125.     @viewport2.update
  126.     @viewport3.update
  127.   end
  128. end
复制代码
范例工程不提供,很简单的

点评

好东西,收藏之~  发表于 2010-11-1 18:22

评分

参与人数 11星屑 +1234 +2 收起 理由
candy2266 + 2
370420939 + 14 给力啊!
kefafa + 6 大爱啊
pigger123 + 300 小明同学又给力了。
星之璇 + 14 我靠~可惜,如果是图块多点那就好了.
小鱼子 + 8 精品文章
wangswz + 60 湿了
38571240 + 6 以前不能实现的这样还有那样....都可以做到.
九夜神尊 + 600 + 2 这东西有点绝了
429259591 + 12 支持前辈,好东西啊~~如果配合图块加强就pe.

查看全部评分


还在龟速填坑中

Lv1.梦旅人

战国美少年森兰丸

梦石
0
星屑
204
在线时间
852 小时
注册时间
2008-7-20
帖子
3705
2
发表于 2010-10-31 14:10:03 | 只看该作者
嗯,看明白了,这个相当于xp的图层吧。学长加油。
回复 支持 反对

使用道具 举报

Lv2.观梦者

Adam

梦石
0
星屑
708
在线时间
841 小时
注册时间
2010-8-24
帖子
2595
3
发表于 2010-10-31 14:20:23 | 只看该作者
恩,GOOD!
回复 支持 反对

使用道具 举报

Lv1.梦旅人

掉在

梦石
0
星屑
49
在线时间
158 小时
注册时间
2010-8-16
帖子
549
4
发表于 2010-10-31 14:24:18 | 只看该作者
是个好东西=。=

点评

喵的酱油!  发表于 2011-1-7 08:34
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv3.寻梦者 (禁止发言)

无能君

梦石
0
星屑
3455
在线时间
30 小时
注册时间
2010-9-18
帖子
354
5
发表于 2010-10-31 14:42:13 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

Lv2.观梦者

铃铃塔的守护者

梦石
0
星屑
626
在线时间
961 小时
注册时间
2010-10-24
帖子
2768

贵宾

6
发表于 2010-10-31 14:47:02 | 只看该作者
无知的我想问:这个对XP有效吗?以前一直是用SHIFT加个图层,要是有效,那就省事多了。

魔法麻将独立游戏制作中,欢迎热情的测试员与UI设计师合作开发~
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
49
在线时间
8 小时
注册时间
2010-9-13
帖子
448
7
发表于 2010-10-31 14:48:22 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
392 小时
注册时间
2010-2-16
帖子
292
8
发表于 2010-10-31 15:03:27 | 只看该作者
真是个不错的脚本……不过用地图名来控制的话……某些地图名控制的脚本就会冲突了……比如地图名显示

点评

我那个地图名显示没有bug呢,基本上不去那些L1的地图,所以地图名没有问题吧  发表于 2010-10-31 20:09
斑竹神马的……原来都是喷火龙……
回复 支持 反对

使用道具 举报

Lv3.寻梦者 (暗夜天使)

名侦探小柯

梦石
0
星屑
3299
在线时间
3619 小时
注册时间
2006-9-6
帖子
37400

开拓者贵宾第3届短篇游戏大赛主流游戏组亚军第5届短篇游戏比赛亚军

9
发表于 2010-10-31 15:12:50 | 只看该作者
依旧是很烦人才能让VX稍微加强一些的东西囧,和图块扩充一样……
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
180
在线时间
829 小时
注册时间
2010-6-26
帖子
671
10
发表于 2010-10-31 20:10:07 | 只看该作者
强大,太强大了!虽说我默认的两层加事件做的第三层已经够用了……
新手们!不要被看扁了!我们也会用论坛搜索,我们也会自己找脚本,我们也会自己点击关闭按钮旁边的小问号!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-13 12:37

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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