SDL中文论坛

标题: 实例:增加地形及编写地形图形规则(构造规则) [打印本页]

作者: ancientcc    时间: 2020-11-29 11:47
标题: 实例:增加地形及编写地形图形规则(构造规则)
二楼:Ea(经济区地形)。经济区地形不随周围是什么地形而有所变化,是一种“独立”地形,基于它的构造规则可算“最”简单。
作者: ancientcc    时间: 2020-11-29 11:48
标题: Ea(经济区地形)
一、在<data>\core\terrain.cfg中增加一种地形
  1. [terrain_type]
  2.         // symbol_image是地图编辑器显示在右侧的“按钮”皮肤。
  3.         symbol_image=castle/economy-area-tile
  4.         id=economy_area
  5.         name= _"economy"
  6.         description=_"economy area"
  7.         // 经济区地形码
  8.         string=Ea
  9.         aliasof=Ea
  10.         unit_height_adjust=0
  11.         recruit_from=false
  12.         recruit_onto=false
  13.         // 地图编辑器中,经济区被归类到城堡
  14.         editor_group=castle
  15. [/terrain_type]
复制代码
二、在<data>\core\terrain-graphics.cfg中增加施加该地形上的构造规则
经济区地形码就是以上的Ea。经济区地形不随周围是什么地形而有所变化,是一种“独立”地形,它只要一条则就够了。
  1. {TERRAIN_BASE Ea castle/economy-area}
复制代码
TERRAIN_BASE是个定义一条规则的宏,在*.cfg中搜这宏定义,会得到这宏的实现层次。
  1. => TERRAIN_BASE_PLF (Ce,Ke) 100 -1000 base (castle/economy-area)
  2.     =>
复制代码
以下是TERRAIN_BASE_PLF实现代码,也就是TERRAIN_BASE的实现代码。
  1. #define TERRAIN_BASE_PLF TERRAIN PROB LAYER FLAG IMAGESTEM
  2. [terrain_graphics]
  3.         [tile]
  4.                 x=0
  5.                 y=0
  6.                 type="{TERRAIN}"
  7.                 [image]
  8.                         layer={LAYER}
  9.                         name={IMAGESTEM}
  10.                 [/image]
  11.         [/tile]

  12.         probability={PROB}
  13.         no_flag={FLAG}
  14.         set_flag={FLAG}
  15. [/terrain_graphics]
  16. #enddef
复制代码
TERRAIN_BASE设置一条构造规则:如果(0,0)格子地形是Ea,并且没有设置过base标志,则在那格子放置图片castle/economy-area.png,同时设置base标志。




欢迎光临 SDL中文论坛 (http://www.libsdl.cn/bbs/) Powered by Discuz! X3.3