贴图地图
本书多次提到了20世纪80年代,那时我开始热爱游戏和游戏编程。尽管从那时起技术的发展突飞猛进,但那些理念至今仍然适用。
老式8位(甚至是16位)家用计算机和主机存在的一个问题是随机存取存储器(RAM)的存储能力。当开发基于平台的游戏或者角色扮演游戏(role-playing game,RPG)时,将尺寸不同的大图像存储在内存里是不可行的。将超大图像存储在存储器中也是不明智的,尤其是当玩家只能看到适合自己屏幕大小的部分图像时更为如此。由于iPhone和iPod早于iPhone 4和iPad,它们在横屏模式下支持的最大显示尺寸是480×320像素。而iPhone 4横屏模式的最大显示尺寸是960 × 640像素,iPad的则是1024×768像素。
为了解决这一难题,人们发明了贴图地图。贴图地图通常是一个二维的网格。每个网格单元都包含了贴图地图中网格单元所在位置的相关信息,如显示该贴图时应该被渲染的图像的ID,以及该位置上的贴图类型方面的信息。例如,这是否是一个玩家无法穿过的固体贴图,(如墙),或者当玩家走近时,这个对象是否会伤害到玩家?
这种存储和创建环境的方法大大减少了对用于存储图像的内存空间的需要,并且为以后你想知道某个玩家在地图中的实际位置时提供便利。尽管iPhone的功能比老式8位计算机强大很多倍,但内存仍属于一个有限的资源,任何能够减少内存占用的方法都是可取的。
贴图地图通常由如下两种元素组成:
一个包含可用于搭建游戏环境的分散贴图图像的精灵表。
一个地图文件,用于指定地图中特定位置应该用到哪个贴图等。可以通过手动来完成该过程,但随着地图的增大这项工作很快便会变得非常复杂。
在Sir Lamorak抯 Quest游戏中,主人公将会在一座城堡中四处行走。尽管可以人工创建必要的贴图地图,但可视化地绘制贴图地图更加容易,而且这也正是我们将要使用的方法。在第9章中将会介绍贴图地图的创建。
大多数大型游戏,如Doom 3和Quake Arena等,都有某些游戏关卡编辑器,关卡编辑器使游戏关设计者能够自由创建新的3D游戏等级。虽然我们用不到如此复杂的东西,但我仍希望能够在Sir Lamorak抯 Quest游戏中轻松创建或改变地图。相较于一切都是硬编码模式,使游戏成为数据驱动式意味着调整和开发游戏都将更简单。
在创建贴图地图时,我们能够用到的一个工具是Tiled.更多关于这个免费的开源应用软件的信息可以在2.4节中找到。(节选自《 iPhone游戏开发实践指南》)
本书多次提到了20世纪80年代,那时我开始热爱游戏和游戏编程。尽管从那时起技术的发展突飞猛进,但那些理念至今仍然适用。
老式8位(甚至是16位)家用计算机和主机存在的一个问题是随机存取存储器(RAM)的存储能力。当开发基于平台的游戏或者角色扮演游戏(role-playing game,RPG)时,将尺寸不同的大图像存储在内存里是不可行的。将超大图像存储在存储器中也是不明智的,尤其是当玩家只能看到适合自己屏幕大小的部分图像时更为如此。由于iPhone和iPod早于iPhone 4和iPad,它们在横屏模式下支持的最大显示尺寸是480×320像素。而iPhone 4横屏模式的最大显示尺寸是960 × 640像素,iPad的则是1024×768像素。
为了解决这一难题,人们发明了贴图地图。贴图地图通常是一个二维的网格。每个网格单元都包含了贴图地图中网格单元所在位置的相关信息,如显示该贴图时应该被渲染的图像的ID,以及该位置上的贴图类型方面的信息。例如,这是否是一个玩家无法穿过的固体贴图,(如墙),或者当玩家走近时,这个对象是否会伤害到玩家?
这种存储和创建环境的方法大大减少了对用于存储图像的内存空间的需要,并且为以后你想知道某个玩家在地图中的实际位置时提供便利。尽管iPhone的功能比老式8位计算机强大很多倍,但内存仍属于一个有限的资源,任何能够减少内存占用的方法都是可取的。
贴图地图通常由如下两种元素组成:
一个包含可用于搭建游戏环境的分散贴图图像的精灵表。
一个地图文件,用于指定地图中特定位置应该用到哪个贴图等。可以通过手动来完成该过程,但随着地图的增大这项工作很快便会变得非常复杂。
在Sir Lamorak抯 Quest游戏中,主人公将会在一座城堡中四处行走。尽管可以人工创建必要的贴图地图,但可视化地绘制贴图地图更加容易,而且这也正是我们将要使用的方法。在第9章中将会介绍贴图地图的创建。
大多数大型游戏,如Doom 3和Quake Arena等,都有某些游戏关卡编辑器,关卡编辑器使游戏关设计者能够自由创建新的3D游戏等级。虽然我们用不到如此复杂的东西,但我仍希望能够在Sir Lamorak抯 Quest游戏中轻松创建或改变地图。相较于一切都是硬编码模式,使游戏成为数据驱动式意味着调整和开发游戏都将更简单。
在创建贴图地图时,我们能够用到的一个工具是Tiled.更多关于这个免费的开源应用软件的信息可以在2.4节中找到。(节选自《 iPhone游戏开发实践指南》)