摄像机#

arcade.Camera#

class arcade.Camera(viewport_width: int = 0, viewport_height: int = 0, window: Optional[arcade.application.Window] = None)[源代码]#

Camera类用于控制可见的视区。它对于分离精灵的滚动屏幕和图形用户界面覆盖非常有用。有关此功能的实际应用示例,请参见 以滚动屏幕为中心移动

参数
  • viewport_width (int) -- 视区的宽度。如果未设置,将使用窗口宽度。

  • viewport_height (int) -- 视区的高度。如果未设置,将使用窗口高度。

  • window (Window) -- 如果使用多窗口程序,则与此摄像机关联的窗口。

move(vector: pyglet.math.Vec2)[源代码]#

以1.0的速度移动相机,也就是即时移动

这等效于调用move_to(my_pos,1.0)

move_to(vector: pyglet.math.Vec2, speed: float = 1.0)[源代码]#

设置相机的目标位置。

相机将基于提供的速度向此位置缓慢移动,每次调用use()函数时更新其位置。

参数
  • vector (Vec2) -- 向量移动相机。

  • speed (Vec2) -- 移动摄像头的速度有多快,1.0是瞬间,0.1是缓慢移动

resize(viewport_width: int, viewport_height: int)[源代码]#

调整摄影机的视区大小。当窗口调整大小时调用此函数。

参数
  • viewport_width (int) -- 视区的宽度

  • viewport_height (int) -- 视区的高度

set_projection()[源代码]#

更新摄像机的投影矩阵。这将基于摄影机的视区大小创建一个正交投影。

shake(velocity: pyglet.math.Vec2, speed: float = 1.5, damping: float = 0.9)[源代码]#

添加相机抖动。

参数
  • velocity (Vec2) -- 向量开始移动相机

  • speed (float) -- 摇动有多快?

  • damping (float) -- 停止颤抖的速度有多快

update()[源代码]#

将摄影机的视区更新为当前设置。

use()[源代码]#

选择要使用的此相机。在你画画之前做这件事。

zoom(change: float)[源代码]#

放大或缩小相机。或者不去。这将当前引发错误TODO Implementation