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

Project1

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

[已经解决] 关于图块的覆盖模式!

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
112 小时
注册时间
2010-11-11
帖子
111
跳转到指定楼层
1
发表于 2011-1-11 22:25:25 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 Hjdie 于 2011-1-12 20:08 编辑

不好描述。就上图吧
   这个是画的时候。

  进入游戏后。

嗯。在XP里我知道自动原件可以把那些柱子全部自动挡住。
那么VX里有没有这种功能呢?

点评

没图  发表于 2011-1-11 22:27

Lv1.梦旅人

梦石
0
星屑
50
在线时间
466 小时
注册时间
2006-2-25
帖子
1863
2
发表于 2011-1-11 22:34:00 | 只看该作者
回复 Hjdie 的帖子

不要画柱子下面那一块不就行了- -
回复 支持 反对

使用道具 举报

Lv2.观梦者

铃铃塔的守护者

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

贵宾

3
发表于 2011-1-11 22:50:33 | 只看该作者
我倒觉得是你的柱子的图层比自动原件的墙高...所以挡不住的...

点评

- -| 好吧,实用第一  发表于 2011-1-11 23:23
没研究过是什么原理 就只记得有这功能 哈哈  发表于 2011-1-11 23:18
好的,的确覆盖了啊....那就是优先级的设置了,难道说墙的设置没有柱子高??  发表于 2011-1-11 23:06
xp你在第一层画墙,第二层画柱子也是挡不住的......记得图层优于优先级...记错了?  发表于 2011-1-11 23:05
XP这样画运行游戏的时候是会自动挡住的 VX没这功能  发表于 2011-1-11 23:02

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

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1896
在线时间
896 小时
注册时间
2010-11-13
帖子
406
4
发表于 2011-1-11 23:10:19 | 只看该作者
还不简单,如果想元件挡住建筑,就是先画建筑,后画元件,这样就可以挡住。

相反,想挡住元件,就是先画元件,再画建筑物。
想也一直在把精力放在自认为重要的事上,可能一会,可能一辈子不会填坑,失态
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
49
在线时间
328 小时
注册时间
2009-10-8
帖子
168
5
发表于 2011-1-11 23:20:09 | 只看该作者
  1. #==============================================================================
  2. # ■ VX图层无穷无尽
  3. #------------------------------------------------------------------------------
  4. #  原作BY:S. F. LaValle   翻译、修改BY:仲秋启明
  5. #  使用方法:在子地图名的最后加上“LX”(X为第几添加层)
  6. #==============================================================================
  7. class Scene_Map < Scene_Base
  8.   alias start_2 start
  9.   alias update_2 update
  10.   attr_reader :map_layer_spritesets
  11.   def start
  12.     start_2
  13.     setup_map_layers
  14.   end
  15.   def update_transfer_player
  16.     return unless $game_player.transfer?
  17.     fade = (Graphics.brightness > 0)
  18.     fadeout(30) if fade
  19.     @spriteset.dispose
  20.     for i in 0...@map_layer_spritesets.size
  21.       @map_layer_spritesets[i].dispose
  22.     end
  23.     $game_player.perform_transfer
  24.     $game_map.autoplay
  25.     $game_map.update
  26.     Graphics.wait(15)
  27.     @spriteset = Spriteset_Map.new
  28.     setup_map_layers
  29.     fadein(30) if fade
  30.     Input.update
  31.   end
  32.   def setup_map_layers
  33.     maps = load_data("Data/MapInfos.rvdata")
  34.     game_map_name = maps[$game_map.map_id].name
  35.     @map_layers = []
  36.     @map_layer_spritesets = []
  37.     map_names = []
  38.     layer_map_names = []
  39.     layer_index = []
  40.     c = maps.keys
  41.     d = c.max
  42.     for i in 1..d
  43.       unless maps[i] == nil
  44.         a = nil
  45.         map_names.push(maps[i].name)
  46.         a = maps[i].name =~ /(l|L)\d+/
  47.         layer_map_names.push(maps[i].name) if a != nil
  48.         layer_index.push(maps.index(maps[i])) if a != nil
  49.       end
  50.     end
  51.     for string in layer_map_names
  52.       string.chop! until string == game_map_name or string == ""
  53.     end
  54.     if layer_map_names.include?(game_map_name)
  55.       for i in 0...layer_map_names.size
  56.         if layer_map_names[i] != ""
  57.           map = Game_Map.new
  58.           map.setup(layer_index[i])
  59.           @map_layer_spritesets.push(Spriteset_Map_2.new(map))
  60.           @map_layers.push(map)
  61.         end
  62.       end
  63.     end
  64.   end
  65.   def update
  66.     update_2
  67.     for i in 0...@map_layer_spritesets.size
  68.       @map_layers[i].update
  69.       @map_layer_spritesets[i].update
  70.     end
  71.   end  
  72. end

  73. class Spriteset_Map_2 < Spriteset_Map
  74.   def initialize(layer)
  75.     @layer = layer
  76.     create_viewports
  77.     create_tilemap
  78.     update
  79.   end
  80.   def update
  81.     update_tilemap
  82.     update_viewports
  83.   end
  84.   def dispose
  85.     @tilemap.dispose
  86.   end
  87.   def create_tilemap(a1 = nil, a2 = nil, a3 = nil, a4 = nil, a5 = nil, b = nil, c = nil, d = nil, e = nil)
  88.     @tilemap = Tilemap.new(@viewport1)
  89.     @tilemap.bitmaps[0] = (a1 == nil ? Cache.system("TileA1") : a1)
  90.     @tilemap.bitmaps[1] = (a2 == nil ? Cache.system("TileA2") : a2)
  91.     @tilemap.bitmaps[2] = (a3 == nil ? Cache.system("TileA3") : a3)
  92.     @tilemap.bitmaps[3] = (a4 == nil ? Cache.system("TileA4") : a4)
  93.     @tilemap.bitmaps[4] = (a5 == nil ? Cache.system("TileA5") : a5)
  94.     @tilemap.bitmaps[5] = (b == nil ? Cache.system("TileB") : b)
  95.     @tilemap.bitmaps[6] = (c == nil ? Cache.system("TileC") : c)
  96.     @tilemap.bitmaps[7] = (d == nil ? Cache.system("TileD") : d)
  97.     @tilemap.bitmaps[8] = (e == nil ? Cache.system("TileE") : e)
  98.     @tilemap.map_data = @layer.data
  99.     @tilemap.passages = @layer.passages
  100.   end
  101.   def update_viewports
  102.     @viewport1.tone = @layer.screen.tone
  103.     @viewport1.ox = @layer.screen.shake
  104.     @viewport2.color = @layer.screen.flash_color
  105.     @viewport3.color.set(0, 0, 0, 255 - @layer.screen.brightness)
  106.     @viewport1.update
  107.     @viewport2.update
  108.     @viewport3.update
  109.   end
  110. end
复制代码
把要覆盖的画在顶层的图层

我们是一个团队,为了各自的梦想,没有豪言壮语,朝着共同的方向默默前进 -lmtop.uueasy.com
回复 支持 反对

使用道具 举报

Lv1.梦旅人

kissye的宠物<

梦石
0
星屑
61
在线时间
1563 小时
注册时间
2008-8-11
帖子
6174

贵宾

6
发表于 2011-1-12 11:45:47 | 只看该作者
画的时候不画出来不就好了- -!
回复 支持 反对

使用道具 举报

Lv4.逐梦者 (版主)

梦石
0
星屑
13037
在线时间
2838 小时
注册时间
2008-11-23
帖子
2577

开拓者贵宾

7
发表于 2011-1-12 12:02:10 | 只看该作者
画的时候就别画柱子下面那个图块啊笨蛋,居然还有人拿脚本出来,你们到底怎么想的啊
I'm the bone of my Second Grade.
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
112 小时
注册时间
2010-11-11
帖子
111
8
 楼主| 发表于 2011-1-12 20:05:49 | 只看该作者
本帖最后由 Hjdie 于 2011-1-12 20:06 编辑

首先我解释下为什么要把墙下面的画出来。
如果你不画墙下面的柱子。那么角色走过去。就可以畅通无阻的走过去。那么我们露出来的柱子是怎么一回事?是蛋痛吗?虽然说游戏是虚假的世界。但是也得有些常人可以接受的定理啊。难道你在游戏世界里。你发现自己走过去的一个地方上面有个柱子。你会怎么想。我一定会想。“这是那个XX美术的杰作啊。这么XX。”

然后感谢给出脚本的同学。

点评

如果设置了不可行。那么墙壁的概念还需要存在吗?  发表于 2011-1-13 14:39
那里本来就应该设置成不可同行的好不好- - 角色怎么可能走到那个地方去呢...  发表于 2011-1-12 21:23
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-25 16:21

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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