很久没发东西了,主要是蠢蠢欲动的念头找不到了。
那么问题来了:让人思路活跃、头脑刮起旋风、手也停不下来的动力是什么呢?(别说是“心血来潮”,俺不信!)
这是一个45度俯视角游戏设计框架,我们采用掷骰子来控制人物移动在一个闭合的田字格路线中,小人虽然只能前进、但总有机会移动到任意的格子位置,之所以用田字格演示是因为、这里包含了该条件下所有可能的地形路线,以此为基础可以拓展各种曲折古怪的活动地图。
这东西倒也不算繁琐,田字格地形由 空白格 按照 地形表格 的数据依次克隆构建而成,关于表格中的数据:1~2列为横纵轴向的倍率变化、3列为单元格节点数(相邻格子数)、4~7列为节点数值,其整数位是临格点位、小数位是方向值(须乘以10还原);
第一个格子平面坐标作为基础参数,分别加上表格1~2列倍率与横纵参数乘积,就是所有格子的位置坐标,小人预设在首格坐标偏上的位置;
骰子造型有7种,前6种代表呈现数值,第7种作为滚动状态的动图用,事件逻辑如下,比较简单;
人物造型有两个,分别为左下方行走动图、与左上方行走动图,另外两个方向(右上和右下)由前两者水平翻转达成显示效果;
下图为人物事件代码,除了启动时初始数据外、这里解释下 移动 通知的逻辑条理:
- 根据步数重复执行下面2~6的内容,步数即掷出的点数;
- 清空随机列表、确定当前位置格子的节点数——即相邻的格子数;
- 遍历每个节点,排除前位(之前走过来的格子)后其余的加入随机列表,这也是防止“走回头路”的手段;
- 打乱随机列表后选首项为行动目标节点,由于节点参数的整数部分是点位、小数部分是方向值,将其分别提取并还原为整数值;
- 根据方向值来变更人物造型及相位(是否水平翻转),是人物的行动造型与移动方向相符;
- 根据点位将人物动画移动至相应的单元格相对位置上,将前位、当前位等数据更新;
- 停止播放造型等待下次掷骰子。
小游戏制作工具社区一直很安静,说个恐怖故事:比骨灰堂还冷清......这不利于新人的冒险之旅^_^
也是忍不住扔个砖头弄点动静,没准有大神手持璞玉亮相镇场呢!