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

Project1

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

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

[复制链接]

Lv4.逐梦者

醉啸 长风万里

梦石
0
星屑
6072
在线时间
6587 小时
注册时间
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
星屑
49
在线时间
534 小时
注册时间
2011-9-12
帖子
136
22
发表于 2011-10-1 10:14:44 | 只看该作者
谁能帮忙翻译成XP的?
感激不尽

评分

参与人数 1星屑 -2 收起 理由
各种压力的猫君 -2 XP有图层机能,不够用请学习地图绘制技巧。.

查看全部评分

假期就像一卷卫生纸,看着挺长,扯着扯着就没了……
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
311 小时
注册时间
2011-3-4
帖子
238
21
发表于 2011-8-25 13:42:56 | 只看该作者
虽然不是很懂= =但是留着,希望有天能用好
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
12 小时
注册时间
2011-1-2
帖子
5
20
发表于 2011-8-15 14:15:30 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
183
在线时间
159 小时
注册时间
2011-1-4
帖子
22
19
发表于 2011-5-5 02:30:08 | 只看该作者
{:4_84:}换地图无淡出淡入脚本冲突,快速换图的话副层地图刷新不到。
回复 支持 反对

使用道具 举报

Lv4.逐梦者

醉啸 长风万里

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

贵宾

18
 楼主| 发表于 2011-2-13 20:14:02 | 只看该作者
BUG已解决
回复 支持 反对

使用道具 举报

Lv1.梦旅人

风雪夜不归人

梦石
0
星屑
50
在线时间
276 小时
注册时间
2006-3-7
帖子
6721

贵宾

17
发表于 2010-11-14 21:11:54 | 只看该作者
泪……这样子画地图更加复杂了,果然还是需要专业支持的……
有些人,到了七八月份就会诈尸。
宫斗,是女生永远的爱。
冷门,是本人不变的欲。
作弊,是玩家自由的痛。
练级,是橙光割舍的情。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
49 小时
注册时间
2010-9-10
帖子
7
16
发表于 2010-11-14 16:59:30 | 只看该作者
{:2_33:}  关键是图块的扩充啊

点评

不要提起“图块扩充”  发表于 2010-11-14 18:37
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
66 小时
注册时间
2009-2-13
帖子
382
15
发表于 2010-11-3 22:40:00 | 只看该作者
刚才发现进入战斗时,子图层的图像没有及时刷掉,不过ARPG表示无压力
回复 支持 反对

使用道具 举报

Lv2.观梦者

神隐的主犯

梦石
0
星屑
263
在线时间
271 小时
注册时间
2008-2-22
帖子
7691

贵宾

14
发表于 2010-11-3 12:30:07 | 只看该作者
其实可以一张地图一个图层, 然后实现伪 2.5D , 咱的之前的工程就是这么设计的~~

《天空之城 —— 破碎的命运》
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-5-19 04:45

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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