切片地图阅读器#
- class arcade.tilemap.TileMap(map_file: str | Path = '', scaling: float = 1.0, layer_options: Dict[str, Dict[str, Any]] | None = None, use_spatial_hash: bool = False, hit_box_algorithm: HitBoxAlgorithm | None = None, tiled_map: pytiled_parser.TiledMap | None = None, offset: Vec2 = Vec2(0, 0), texture_atlas: 'TextureAtlas' | None = None, lazy: bool = False)[源代码]#
基类:
类的新实例,该类表示从平铺中完全分析和加载的映射。有关如何使用此类的示例,请参阅:https://api.arcade.academy/en/latest/examples/platform_tutorial/step_09.html
- 参数:
map_file (Union[str, Path]) -- 用于初始化切片地图的JSON Mapfile
scaling -- 全局缩放以应用于所有精灵。
use_spatial_hash -- 如果设置为True,这将使在SpriteList中移动精灵的速度变慢,但它将加快与SpriteList中的项的碰撞检测。非常适合使用静态墙/平台进行碰撞检测。
hit_box_algorithm -- 用于该层中的精灵的命中框算法。
tiled_map -- 已解析的拼贴解析器映射对象。通过这一点意味着
map_file
参数将被忽略,而将改用预先解析的映射。这对于处理平铺世界文件很有帮助。offset -- 可用于偏移地图中所有精灵和对象的位置。这将应用于平铺的任何偏移之外。可以使用LAYER_OPTIONS DICT覆盖此值。
texture_atlas -- 用于该贴图创建的SpriteList的默认纹理贴图集。如果未提供,将使用全局默认地图集。
lazy -- SpriteList将被懒惰地创建。
这个 layer_options 参数可用于指定每个层的参数。
此操作的可用选项包括:
USE_SPATIAL_HASH-一个布尔值,用于在该层的SpriteList上启用空间散列。Scaling-提供特定于层的精灵缩放的浮点。HIT_BOX_ALGORM-用于该层中的精灵的命中框算法。Offset-包含CUSTOM_CLASS层的X和Y位置偏移的元组-层中的所有对象都是从该类而不是Sprite创建的。必须是精灵的子类。CUSTOM_CLASS_ARGS-自定义参数,传递到CUSTOM_CLASS纹理贴图集的构造函数中-此层中要用于SpriteList的纹理贴图集,如果未提供,则将使用在贴图级别定义的纹理贴图集。
例如:
代码块::
layer_options = { "Platforms": { "use_spatial_hash": True, "scaling": 2.5, "offset": (-128, 64), "custom_class": Platform, "custom_class_args": { "health": 100 } }, }
将每个层中的索引及其值传递给使用 ** 字典上的运算符。
- get_cartesian(x: float, y: float) Tuple[float, float] [源代码]#
给定一组以像素为单位的坐标,它将返回笛卡尔坐标。
这假设提供的坐标是像素坐标,并使笛卡尔栅格基于贴图的平铺大小。
如果您有一张具有128x128像素切片的地图,并且您为该函数提供了坐标500,250,您将收到3,2
- 参数:
x -- 要转换的X坐标
y -- 要转换的Y坐标
- object_lists: Dict[str, List[TiledObject]]#
将瓷砖对象映射到其层名称的词典。这将用于地图的所有对象层。
- sprite_lists: Dict[str, SpriteList]#
将SpriteList映射到其层名称的词典。此选项用于地图的所有平铺层。
- tiled_map: TiledMap#
拼贴解析器映射对象。这对于通过直接访问原始地图数据来实现此类不支持的功能非常有用。
- arcade.tilemap.load_tilemap(map_file: str | Path, scaling: float = 1.0, layer_options: Dict[str, Dict[str, Any]] | None = None, use_spatial_hash: bool = False, hit_box_algorithm: HitBoxAlgorithm | None = None, offset: Vec2 = Vec2(0, 0), texture_atlas: 'TextureAtlas' | None = None, lazy: bool = False) TileMap [源代码]#
给定一个.json映射文件,加载并返回一个 TileMap 对象。
可以使用类直接创建切片地图 __init__ 功能。此功能的存在是为了便于使用。
有关LAYER_OPTIONS键的详细说明,请参阅 __init__ 的功能 TileMap 班级
- 参数:
map_file (Union[str, Path]) -- JSON映射文件。
scaling -- 要应用于贴图内所有精灵的全局缩放。
use_spatial_hash -- 如果设置为True,这将使在SpriteList中移动精灵的速度变慢,但它将加快与SpriteList中的项的碰撞检测。非常适合使用静态墙/平台进行碰撞检测。
hit_box_algorithm -- 用于碰撞检测的命中框算法。
offset -- 可用于偏移地图中所有精灵和对象的位置。这将应用于平铺的任何偏移之外。可以使用LAYER_OPTIONS DICT覆盖此值。
lazy -- SpriteList将被懒惰地创建。