游戏地图构建与主题设计的深入探索
在游戏开发中,地图的构建和主题设计是至关重要的环节,它们直接影响着游戏的趣味性和视觉体验。本文将详细介绍如何使用 Rust 语言来实现多样化的地图构建和主题切换功能。
地图构建的基础与创新
首先,我们要对地图构建的基础代码进行修改。打开 map_builder/mod.rs 文件,将 new() 函数替换为以下代码:
pub fn new(rng: &mut RandomNumberGenerator) -> Self {
let mut architect : Box<dyn MapArchitect> = match rng.range(0, 3) {
0 => Box::new(DrunkardsWalkArchitect{}),
1 => Box::new(RoomsArchitect{}),
_ => Box::new(CellularAutomataArchitect{})
};
let mut mb = architect.new(rng);
mb
}
这里引入了两个新的概念: Box 和 dyn 。当只使用一种类型的地图构建器时,Rust 能明确知道构建器的类型。但当存储可能实现 MapArchitect 特征的任意类型时,Rust 确定类型和大小就会变得困难。因此,
超级会员免费看
订阅专栏 解锁全文
2050

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



