关于前端:Tile地图管理器世界再大又怎样

31次阅读

共计 1695 个字符,预计需要花费 5 分钟才能阅读完成。

引言

本系列是《8 年主程手把手打造 Cocos 独立游戏开发框架》,欢送大家关注分享珍藏订阅。

在独立游戏开发中,tile 地图管理器是一个十分有用的工具,能够帮忙你轻松创立和治理游戏中的地图。在这篇文章中,我将介绍如何在 Cocos 独立游戏开发框架中打造属于本人的 tile 地图管理器来创立和治理游戏地图。

本文源码和源工程在文末获取,小伙伴们自行返回。

什么是 Tile 地图?

Tile 地图是一种通过将游戏地图宰割成小块(瓦片)来构建游戏世界的技术。每个瓦片通常都是一个小的图像,能够拼接在一起以创立大型的游戏地图。这种办法使得地图的创立和治理变得非常简单,因为你只须要创立一组瓦片,而后将它们搁置在游戏世界中以构建地图。

Tile 地图的劣势

  1. 疾速加载和渲染:因为地图被分成小块,只需加载和渲染以后可见区域的瓦片,而不是整个地图。这能够显著进步地图加载速度,使用户可能更疾速地查看地图数据。
  2. 加重服务器累赘:Tile 地图能够将地图数据散发到多个独立的瓦片,因而能够在多台服务器上存储和提供这些瓦片,从而扩散了服务器累赘。这对于大型地图服务和高流量应用程序至关重要。
  3. 缓存和离线应用:用户在拜访地图后,浏览器或应用程序能够缓存已加载的瓦片,以便稍后的拜访。这使得在离线模式下依然可能查看地图数据成为可能。
  4. 灵活性:Tile 地图容许开发人员自定义地图款式、图层和标记,以满足特定应用程序的需要。这意味着您能够依据本人的需要创立定制的地图体验。
  5. 交互性:Tile 地图反对各种用户交互,如平移、缩放和标记点击。这使得用户可能在地图上执行各种操作,从查看地位到查找路线等。

Tile 地图管理器的实现

1. 申明 MapTile 类

Tile 地图是将一个残缺的大地图切割拆分成许多小图片,俗称瓦片。因而咱们须要一个类去解决每个图片。

申明一个 MapTile 类继承cc.Sprite,次要负责加载并显示图片。

通过行和列进行一些列的计算得出图片显示的指定地位,瓦片地图的加载 cc.resources.load 和销毁cc.resources.release:

2. 申明 MapTiles 治理类

下面介绍了单个 MapTile 的解决,咱们须要一个治理类去治理所有的 MapTile:

MapTiles 治理类次要负责更新传入的坐标左近应该显示的 MapTile,即更新 ” 角色 ” 左近的地图块。

通过一系列简单的计算得出坐标 (x,y) 左近应该显示的地图块行列:

治理并精确创立和显示左近的地图块:

Tile 地图能显示无限大地图的要害,动态创建和显示左近的地图块,暗藏不在屏幕内的地图,从而达到最优成果:

3. 申明 Map 类

Map 类次要实现加载对应地图 ID 的配置数据并且驱动 MapTiles 治理类去更新指定坐标左近的地图块:

4. 编写测试代码

初始化并构建地图:

rootNode 节点次要负责挪动。

mapNode 节点负责装载 TileMap 节点。

增加简略的地图拖拽办法,实现拖拽并且显示指定地位的地图块:

5. 筹备测试资源

资源来源于网络,仅供学习。

还有地图的配置文件,包含地图的宽和高还有阻挡信息。

6. 测试后果演示

测试胜利,胜利将地图散件拼接并且动静加载显示,蕴含地图的拖拽性能:

总结

总之,Tile 地图是游戏开发中一个重要的工具,能够简化地图设计和渲染,进步游戏性能,并反对各种类型的游戏。通过正当应用 Tile 地图,开发者能够疾速创立具备简单世界的游戏,同时升高开发的复杂性。

本文的重点内容次要有以下几点,不晓得小伙伴们是否曾经了解:

  • 本系列是《8 年主程手把手打造 Cocos 独立游戏开发框架》,欢送大家关注分享珍藏订阅。
  • 什么是 Tile 地图。
  • Tile 地图的劣势。
  • Tile 地图管理器的实现。
  • 源码通过关注“亿元程序员”发送 ”Map” 获取。
  • 下篇文章给大家解说如何编辑地图的阻挡信息。

AD: 笔者曾经上线的小游戏《填色之旅》《贪吃蛇掌机经典》《重力迷宫球》大家能够自行点击搜寻体验。

感兴趣的小伙伴记得关注 ” 亿元程序员 ” 哦,一位有着 8 年游戏行业教训的主程。学习游戏开发不迷路。感谢您的关注,心愿能给到您帮忙, 也心愿通过您能帮忙到大家。

喜爱的能够点个 、点个 在看 哦!请把该文章 分享 给你感觉有须要的其余小伙伴。谢谢。

正文完
 0