2D 图形、坐标与游戏状态开发指南
1. 窗口模式切换与坐标空间差异
在游戏开发中,通过切换 A 和 B 按钮可以在窗口模式和全屏模式之间自由切换。值得注意的是,在这个过程中,游戏对象的相对大小会保持恒定。例如,一个占据游戏窗口一半大小的对象,在全屏模式下依然会占据一半的空间。这意味着开发者在设计游戏对象时,可以专注于其相对大小和位置,而无需过多考虑游戏窗口最终的像素分辨率。
同时,要认识到相机在不同坐标空间中的宽度和位置存在差异。在用户定义的坐标空间中,相机的宽度仅覆盖 100 个单位;而在像素空间中,它则覆盖 1000 个像素。并且,相机的原点位于左下角的 (10, 20) 处,而游戏窗口的原点位于左上角的 (0, 0) 处。这种差异表明,我们已经成功地将用户定义的坐标系与游戏窗口的像素空间解耦。
2. 字体输出功能实现
许多游戏都会利用文本输出来完成各种任务,因为文本能够高效地向用户和开发者传达信息,比如游戏剧情、玩家得分或开发过程中的调试信息等。然而,MonoGame 提供的游戏窗口并不直接支持文本输出。不过,我们可以借助 SpriteFont 类创建一个自定义类,来实现向游戏窗口输出文本的功能。
2.1 SpriteFont 类的使用
SpriteFont 类会在构建时将所需字体的字符转换为纹理。要使用该类,需要创建一个字体文件(如 Arial.spritefont),并将其转换为 xnb 格式,最后添加到项目中。和处理图像一样,字体文件属于外部资源,在使用前应添加到内容文件夹中。
具体操作步骤如下:
1. 找到 Chapter03\SourceCode\ImagesAndFontUsed
超级会员免费看
订阅专栏 解锁全文

1124

被折叠的 条评论
为什么被折叠?



