摄像机#
- class arcade.Camera(*, viewport: Tuple[int, int, int, int] | None = None, projection: Tuple[float, float, float, float] | None = None, zoom: float = 1.0, rotation: float = 0.0, anchor: Tuple[float, float] | None = None, window: Window | None = None)[源代码]#
基类:
SimpleCamera
Camera类用于控制可见的视区、投影、缩放和旋转。它对于分离精灵的滚动屏幕和图形用户界面覆盖非常有用。有关此功能的实际应用示例,请参见 以滚动屏幕为中心移动 。
- 参数:
viewport -- (左、下、宽、高)视区的大小。如果没有,将使用窗口大小。
projection -- 投影的大小(左、右、下、上)。如果没有,将使用窗口大小。
zoom -- 要应用于投影的缩放
rotation -- 旋转投影的角度(以度为单位
anchor -- 摄影机旋转将锚定的x,y点。默认设置为视区的中心。
window -- 如果使用多窗口程序,则与此摄像机关联的窗口。
- get_sprites_at_point(point: Point, sprite_list: SpriteList) List['Sprite'] [源代码]#
当此函数查看是否有任何精灵与指定点重叠时,获取特定点处的精灵列表。如果某个精灵具有不同的center_x/center_y,但触及该点,则会返回该精灵。
- 参数:
point -- 指向检查
sprite_list -- 要检查的SpriteList
- 返回:
精灵冲突列表或空列表。
- shake(velocity: Vec2 | tuple, speed: float = 1.5, damping: float = 0.9) None [源代码]#
添加相机抖动。
- 参数:
velocity -- 向量开始移动相机
speed -- 摇动有多快?
damping -- 停止颤抖的速度有多快
- anchor#
获取或设置相机的旋转锚点。
默认情况下,锚点是屏幕的中心,锚点值为 None 。指定自定义锚点将覆盖此行为。锚点位于世界/全局坐标中。
示例::
# Set the anchor to the center of the world camera.anchor = 0, 0 # Set the anchor to the center of the player camera.anchor = player.position
- far#
应用于投影的Far
- near#
Near应用于投影
- rotation#
获取或设置以度为单位的旋转。
这将顺时针旋转相机,这意味着内容将逆时针旋转。
- scale#
返回x,y刻度。
- zoom#
应用于投影的缩放。只返回x比例尺的值。
- class arcade.SimpleCamera(*, viewport: Tuple[int, int, int, int] | None = None, projection: Tuple[float, float, float, float] | None = None, window: Window | None = None)[源代码]#
基类:
一个简单的摄像头,允许改变视窗,投影,并可以四处移动。就这样。更高级的内容见arcade.Camera。
- 参数:
viewport -- 视区大小:(左、下、宽、高)
projection -- 摄影机视口中要分配的空间(左、右、下、上)
- get_map_coordinates(camera_vector: Vec2 | tuple) Vec2 [源代码]#
根据相机位置从屏幕坐标返回以像素为单位的地图坐标
- 参数:
camera_vector -- 从摄影机视口中捕获的矢量
- move_to(vector: Vec2 | tuple, speed: float = 1.0) None [源代码]#
设置相机的目标位置。
相机将基于提供的速度向此位置缓慢移动,并在每次调用use()函数时更新其位置。
- 参数:
vector -- 向量移动相机。
speed -- 移动摄像头的速度有多快,1.0是瞬间,0.1是缓慢移动
- resize(viewport_width: int, viewport_height: int, *, resize_projection: bool = True) None [源代码]#
调整摄影机的视区大小。当窗口调整大小时调用此函数。
- 参数:
viewport_width -- 视区的宽度
viewport_height -- 视区的高度
resize_projection -- 如果为True,则投影也将调整大小
- projection#
要在摄影机视口中投影的空间尺寸(左、右、下、上)。投影是要投影到摄影机视口中的对象。
- projection_to_viewport_height_ratio#
投影高度与视区高度的比率
- projection_to_viewport_width_ratio#
投影宽度与视口宽度的比率
- viewport#
摄像头将在屏幕上保留的空间(左、下、宽、高)
- viewport_height#
返回视区的高度
- viewport_to_projection_height_ratio#
视区高度与投影高度的比率
- viewport_to_projection_width_ratio#
视区宽度与投影宽度的比率
- viewport_width#
返回视区的宽度