关灯
护眼
字体:

第88章 与张教授的再会(第1页)

章节目录保存书签

“原来如此。”

林琅点点头,翻完了横军平写的差不多了的地图编辑器模块,以及他整理好的问题合集。

其实他所困惑的点都並不复杂,再给他一点时间相信他自己也能解决的。

首先便是这个瓦片地图的相关技术。

根据横军平现在的设计,导入贴图后,直接从资源栏里拖到地图上,便可以放置。

稍显稚嫩,但已经可堪一用。

横军平已经实现了一个林琅觉得很有意思的玩意儿,恰好可以摘出来打包成一个控制项。

那就是网格。

在以往的情况下,控制一个东西的位置往往是用两个浮点数,精確到小数位的精细控制。

但它並不適用於瓦片地图,或者说並不好用。

鑑於此,横军平额外设计了一个网格机制,將原本复杂的空间转换成了一个个整数坐標。

最中间的贴图便是(0,0),上方自然就是(0,1)。

以此类推,便可以依靠整数来確定具体坐標。

网格会帮助开发者把这些坐標再转换回真正的绝对坐標的。

这可是个好东西,不止是瓦片地图能用到,任何需要对齐的需求都可以靠它来实现。

就比如钢琴块中的黑块们,事实上林琅也的確是这么做的。

在钢琴块中,玩家失败不但会被没有来得及按到的miss触发,同样的按到了空白的地方也会触发。

这机制不难实现。

如果按照直觉来看的话,或许直接每次生成的时候都用不可见的白块填满没有黑块的其它轨道就是解决方案。

而这款游戏的曾用名『別踩白块儿似乎也刚好佐证了这一点。

但还有一个更好的解决方案,那就是只在点击后检测,如果没有击中黑块则判定为失败。

在误触的位置临时生成一个警示用的块闪烁。

这样一来需要同时管理、渲染的物体数量就得到了极大的减少。

利用网格机制,便可以很轻鬆的根据点击的位置转换成坐標,將块块生成上去。

甚至可以更进一步地將点击的检测从块上改成坐標对应的网格。

这样只需要判断该网格下有没有黑块就可以得到一个较准確的结果。

“啊哈,好东西,摘出来完善一下推到復兴套件里得了。”

林琅满意点点头,儘管瓦片地图还没做完,现在这个网格倒是可以先推出去。

说起来这两天隔壁启蒙套件的动静也搞的不小。

章节目录