RMXP脚本解析(#二十六):RGSS与RMXP数据库(八.Tileset)

目录

前言

瓦片地图的定义(不是GPS用的那个)

# RMXP中的瓦片地图

RPG::Tileset

图片 数据库::图块与RPG::Tileset属性对应关系

帮助手册 通行表

联系 rxdata


前言

RGSS中的Tileset可以类比为瓦片地图,并不是什么新奇的玩意。作为一个游戏制作软件,RMXP提供的地图素材可以说非常的有代表性,以致于有些普通了(但对于日式RPG而言这无伤大雅,前提是剧情用心)。个人认为如果要在游戏上精益求精,RM本身的素材肯定是用不了的,但是其构造素材的方法还是值得学习。

Tileset素材的规范在帮助手册里有十分详尽的说明。

瓦片地图的定义(不是GPS用的那个)

如果你想制作瓦片地图,可以使用Tiled等软件。

因为没有找到比较详尽准确的关于游戏瓦片地图的定义,在这里我用自己的理解大概说明一下:

在三维的坐标系Oxyz(x、y、z∈Z),其中xy为坐标,z轴为其z序(显示顺序,z越大显示越优先)中,我们的视口平行于Oxy并且在整个z轴上方。以1*1的小方格为单位对整个素材切片,并将其按照先后顺序z叠放于坐标系中,则视口看到的画面就是整个坐标系的俯视图。

# RMXP中的瓦片地图

RMXP中的地图一共有四个图层,除掉事件层则有三个图层(事件层的z序与角色的z序相同),按照我上面提到的坐标系模型,假设最底部的图层z=1,则这三个图层的z序分别为1,2,3。当坐标(x,y)上有n(n<=3)个素材切片时,系统按照切片的z值从小到大绘制素材。

一个例子,以及地图中的(x,y)坐标

RPG::Tileset

 module RPG

    class Tileset

      def initialize

        @id = 0

        @name = ""

        @tileset_name = ""

        @autotile_names = [""]*7

        @panorama_name = ""

        @panorama_hue = 0

        @fog_name = ""

        @fog_hue = 0

        @fog_opacity = 64

        @fog_blend_type = 0

        @fog_zoom = 200

        @fog_sx = 0

        @fog_sy = 0

        @battleback_name = ""

        @passages = Table.new(384)

        @priorities = Table.new(384)

        @priorities[0] = 5

        @terrain_tags = Table.new(384)

      end

      attr_accessor :id

      attr_accessor :name

      attr_accessor :tileset_name

      attr_accessor :autotile_names

      attr_accessor :panorama_name

      attr_accessor :panorama_hue

      attr_accessor :fog_name

      attr_accessor :fog_hue

      attr_accessor :fog_opacity

      attr_accessor :fog_blend_type

      attr_accessor :fog_zoom

      attr_accessor :fog_sx

      attr_accessor :fog_sy

      attr_accessor :battleback_name

      attr_accessor :passages

      attr_accessor :priorities

      attr_accessor :terrain_tags

    end

  end

图片 数据库::图块与RPG::Tileset属性对应关系

帮助手册 通行表

通行表即是RPG::Tileset.passages,它是一个八位二进制数据,不同的位置上的数字(0|1)代表不同的状态(是|否):

word制图导致有点模糊,但应该无伤大雅

联系 rxdata

存储在Tilesets.rxdata文件中。这个类描述图块的各项属性、背景、通行度等。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值