Sprite场景#
arcade.Scene#
- class arcade.Scene[源代码]#
类的新实例,该类表示 scene 对象。大多数游戏将使用场景来渲染其精灵。有关如何使用此类的示例,请参阅:https://api.arcade.academy/en/latest/tutorials/views/index.html
- 属性:
- sprite_lists
一份名单 SpriteList 物体。此列表的顺序就是它们将被绘制的顺序。
- name_mapping
一本……词典 SpriteList 物体。它包含的列表与 sprite_lists 属性,但它是它们按名称的映射。它的顺序不一定与 sprite_lists 属性。
- add_sprite(name: str, sprite: arcade.sprite.Sprite) None [源代码]#
将Sprite添加到场景中具有指定名称的SpriteList。
如果所需的SpriteList不存在,将自动创建它并将其添加到场景中。这将默认将SpriteList添加到绘制顺序的末尾,并且创建时没有使用空间散列等额外选项。
如果您需要更多地控制SpriteList的去向,或者需要它来使用空间哈希,那么应该单独添加SpriteList,然后再添加Sprite。
- add_sprite_list(name: str, use_spatial_hash: bool = False, sprite_list: Optional[arcade.sprite_list.sprite_list.SpriteList] = None) None [源代码]#
将SpriteList添加到具有指定名称的场景。
这将在绘制顺序的末尾向场景中添加一个新的SpriteList。
如果没有通过 sprite_list 参数,则将创建一个新参数,并且 use_spatial_hash 参数将被用于该创建。
- 参数
name (str) -- 为SpriteList指定的名称。
use_spatial_hash (bool) -- 是否在创建新SpriteList时使用空间哈希。
sprite_list (SpriteList) -- 要添加的SpriteList,可选。
- add_sprite_list_after(name: str, after: str, use_spatial_hash: bool = False, sprite_list: Optional[arcade.sprite_list.sprite_list.SpriteList] = None) None [源代码]#
在特定SpriteList之后使用指定名称将SpriteList添加到场景中。
这将在绘制顺序中指定的SpriteList之后将新SpriteList添加到场景中。
如果没有通过 sprite_list 参数,则将创建一个新参数,并且 use_spatial_hash 参数将被用于该创建。
- 参数
name (str) -- 为SpriteList指定的名称。
after (str) -- 要将此元素放在后面的SpriteList的名称。
use_spatial_hash (bool) -- 是否在创建新SpriteList时使用空间哈希。
sprite_list (SpriteList) -- 要添加的SpriteList,可选。
- add_sprite_list_before(name: str, before: str, use_spatial_hash: bool = False, sprite_list: Optional[arcade.sprite_list.sprite_list.SpriteList] = None) None [源代码]#
将指定名称的SpriteList添加到场景中的特定SpriteList之前。
这将在绘制顺序中指定的SpriteList之前将新SpriteList添加到场景中。
如果没有通过 sprite_list 参数,则将创建一个新参数,并且 use_spatial_hash 参数将被用于该创建。
- 参数
name (str) -- 为SpriteList指定的名称。
before (str) -- 要放在其前面的SpriteList的名称。
use_spatial_hash (bool) -- 是否在创建新SpriteList时使用空间哈希。
sprite_list (SpriteList) -- 要添加的SpriteList,可选。
- draw(names: Optional[List[str]] = None, **kwargs) None [源代码]#
画出场景。
如果 names 参数,则只会绘制指定的SpriteList。它们将按照名单上的名字排列的顺序进行抽签。如果 names ,则场景中的每个SpriteList将根据场景的主要Sprite_List属性的顺序绘制。
- 参数
names (Optional[List[str]]) -- 要绘制的SpriteList的名称列表。
filter -- 设置OpenGL滤镜的可选参数,如 gl.GL_NEAREST 以避免平滑。
blend_function -- 可选参数,用于设置绘制精灵列表时使用的OpenGL混合函数,例如 arcade.Window.ctx.BLEND_ADDITIVE 或 arcade.Window.ctx.BLEND_DEFAULT
- draw_hit_boxes(color: Union[Tuple[int, int, int], List[int], Tuple[int, int, int, int]] = (0, 0, 0, 255), line_thickness: float = 1, names: Optional[List[str]] = None) None [源代码]#
为场景中的所有精灵绘制命中框。
如果 names 参数,则只会绘制指定的SpriteList。它们将按照名单上的名字排列的顺序进行抽签。如果 names 则场景中的每个SpriteList将根据场景的主要Sprite_List属性的顺序绘制。
- classmethod from_tilemap(tilemap: arcade.tilemap.tilemap.TileMap) arcade.scene.Scene [源代码]#
从一个场景创建新场景 TileMap 对象。
这将查看TileMap对象中的所有SpriteList,并使用它们创建场景。这将自动使SpriteList保持它们在TileMap类中定义的相同顺序,这是它们在平铺中定义的顺序。
- 参数
tilemap (TileMap) -- 这个 TileMap 要从中创建场景的对象。
- get_sprite_list(name: str) arcade.sprite_list.sprite_list.SpriteList [源代码]#
Helper函数来检索 SpriteList 叫出名字。
名称映射可以直接访问,这只是为了便于使用。
- 参数
name (str) -- 的名称 SpriteList 去找回。
- move_sprite_list_after(name: str, after: str) None [源代码]#
将场景中的给定SpriteList移动到另一个给定SpriteList之后。
这将调整呈现顺序,以便由 name 放在由 after 。
- move_sprite_list_before(name: str, before: str) None [源代码]#
将场景中的给定SpriteList移到另一个给定SpriteList之前。
这将调整呈现顺序,以便由 name 放在由 before 。
- on_update(delta_time: float = 0.016666666666666666, names: Optional[List[str]] = None) None [源代码]#
用于调用场景中包含的SpriteList的ON_UPDATE。类似于UPDATE(),但允许传递Delta_Time变量。
如果 names 参数,则只会更新指定的精灵列表。如果 names 则场景中的每个SpriteList都将调用ON_UPDATE。
- remove_sprite_list_by_name(name: str) None [源代码]#
按其名称删除SpriteList。
此函数用于从场景中完全移除SpriteList。
- 参数
name (str) -- 要删除的SpriteList的名称。