窗口和视图#

arcade.close_window#

arcade.close_window() None[源代码]#

关闭当前窗口,然后运行垃圾回收。为了防止在快速打开/关闭窗口时(通常是在单元测试期间)崩溃,垃圾收集是必要的。

arcade.create_orthogonal_projection#

arcade.create_orthogonal_projection(left: float, right: float, bottom: float, top: float, near: float = 1, far: float = - 1) pyglet.math.Mat4[源代码]#

创建一个正交投影矩阵。在内部与OpenGL着色器一起使用。它创建的矩阵与已弃用/删除的 glOrtho OpenGL函数。

参数
  • left (float) -- 近平面相对于平面中心的左侧。

  • right (float) -- 近平面相对于平面中心的右侧。

  • top (float) -- 近平面相对于平面中心的顶部。

  • bottom (float) -- 近平面相对于平面中心的底部。

  • near (float) -- 近平面到摄影机原点的距离。建议将近平面设置为1.0或更高,以避免近距离渲染问题。

  • far (float) -- 远平面到摄影机原点的距离。

返回

表示指定的正交透视的投影矩阵。

返回类型

pyglet.math.Mat4

arcade.exit#

arcade.exit()[源代码]#

退出应用程序。

arcade.finish_render#

arcade.finish_render()[源代码]#

交换缓冲区并显示已绘制的内容。

警告

如果您要扩展 Window 类,则不应调用此函数。之后,事件循环将自动为您交换窗口帧缓冲区 on_draw

arcade.get_display_size#

arcade.get_display_size(screen_id: int = 0) Tuple[int, int][源代码]#

返回监视器的宽度和高度。

默认情况下,返回主监视器的大小。

参数

screen_id (int) -- 屏幕编号

返回

包含屏幕宽度和高度的元组

返回类型

tuple

arcade.get_projection#

arcade.get_projection() pyglet.math.Mat4[源代码]#

返回Arcade中精灵和形状使用的当前投影矩阵。

这是一条快捷方式 `window.ctx.projection_2d_matrix

返回

投影矩阵

返回类型

Mat4

arcade.get_scaling_factor#

arcade.get_scaling_factor(window: Window = None) float[源代码]#

获取给定窗口的比例因子。这是窗口和帧缓冲区大小之间的比率。如果未提供任何窗口,将使用当前活动的窗口。

参数

window (Window) -- 要获取其比例因子的窗口的句柄。

返回

比例因子。例如,2.0将指示帧缓冲区的宽度和高度是窗口宽度和高度的2.0倍。这意味着一个“窗口像素”实际上是帧缓冲区中2 x 2平方的像素。

返回类型

float

arcade.get_viewport#

arcade.get_viewport() Tuple[float, float, float, float][源代码]#

获取当前的视区设置。

返回

浮点数元组,带有 (left, right, bottom, top)

arcade.get_window#

arcade.get_window() Window[源代码]#

返回当前窗口的句柄。

返回

当前窗口的句柄。

arcade.pause#

arcade.pause(seconds: numbers.Number) None[源代码]#

暂停指定的秒数。这是一个非常方便的函数,它只调用time.睡眠()。

警告

这主要用于单元测试,不太可能是暂停应用程序或游戏的好解决方案。

参数

seconds (float) -- 暂停的时间间隔(秒)。

arcade.run#

arcade.run()[源代码]#

运行主循环。在设置了窗口并且事件挂钩就位之后,这通常是主程序上最后的命令之一。这是一个阻塞函数,启动了pyglet的事件循环,这意味着它将开始分派事件,例如 on_drawon_update

arcade.schedule#

arcade.schedule(function_pointer: Callable, interval: numbers.Number)[源代码]#

计划每隔一天自动调用一个函数 interval 几秒钟。函数/Callable需要接受类似如下的增量时间参数 on_update 。这是一个浮点数,表示自调度或调用以来的秒数。

一个函数可以多次调度,但不建议这样做。

警告

计划的功能应 始终 未按计划使用 arcade.unschedule() 。具有挥之不去的预定函数将导致崩溃。

示例::

def some_action(delta_time):
    print(delta_time)

# Call the function every second
arcade.schedule(some_action, 1)
# Unschedule
参数
  • function_pointer (Callable) -- 指向要调用的函数的指针。

  • interval (Number) -- 调用函数的间隔(浮点型或整型)

arcade.set_background_color#

arcade.set_background_color(color: Union[Tuple[int, int, int], List[int], Tuple[int, int, int, int]]) None[源代码]#

设置颜色 arcade.Window.clear() 将在清除窗口时使用。这只需要在背景颜色更改时调用。

注解

设置背景颜色的一种更短、更快的方法是使用 arcade.Window.background_color

示例:

# Use Arcade's built in color values
arcade.set_background_color(arcade.color.AMAZON)

# Specify RGB value directly (red)
arcade.set_background_color((255, 0, 0))
参数

color (Color) -- RGB/RGBA格式的3或4个值的列表。

arcade.set_viewport#

arcade.set_viewport(left: float, right: float, bottom: float, top: float) None[源代码]#

这将设置窗口将覆盖的坐标。

小技巧

初学者会想要使用 Camera 。它为常见任务提供了易于使用的支持,例如屏幕抖动和移动到目的地。

如果您正在制作一个对视区进行复杂控制的游戏,此功能会有所帮助。

默认情况下,左下角坐标将为 (0, 0) ,顶部的y坐标将是以像素为单位的窗口高度,右侧的x坐标将是以像素为单位的窗口宽度。

警告

注意分数或非多重值!

建议仅将视区设置为与屏幕上的像素对齐的整数值。否则,平铺的像素图片在渲染过程中可能不会很好地对齐,从而产生矩形瑕疵。

注解

Window.on_resize 呼叫 set_viewport 默认情况下。如果要在游戏期间设置自己的自定义视区,则可能需要重写 on_resize 方法。

注解

对于更高级的用户

This functions sets the orthogonal projection used by shapes and sprites. It also updates the viewport to match the current screen resolution. window.ctx.projection_2d (projection_2d()) and window.ctx.viewport (viewport()) can be used to set viewport and projection separately.

参数
  • left (Number) -- 最左侧(最小)的x值。

  • right (Number) -- 最右侧(最大)的x值。

  • bottom (Number) -- 底部(最小)y值。

  • top (Number) -- 最高(最大)y值。

arcade.set_window#

arcade.set_window(window: Window) None[源代码]#

设置当前窗口的句柄。

参数

window (Window) -- 当前窗口的句柄。

arcade.start_render#

arcade.start_render() None[源代码]#

清除窗口。

此功能更实用的替代方案是 arcade.Window.clear()arcade.View.clear()

arcade.unschedule#

arcade.unschedule(function_pointer: Callable)[源代码]#

取消计划正在自动调用的函数。

示例::

def some_action(delta_time):
    print(delta_time)

arcade.schedule(some_action, 1)
arcade.unschedule(some_action)
参数

function_pointer (Callable) -- 指向要取消调度的函数的指针。

arcade.Section#

class arcade.Section(left: int, bottom: int, width: int, height: int, *, name: Optional[str] = None, accept_keyboard_events: Union[bool, Iterable] = True, prevent_dispatch: Optional[Iterable] = None, prevent_dispatch_view: Optional[Iterable] = None, local_mouse_coordinates: bool = False, enabled: bool = True, modal: bool = False)[源代码]#

部分表示视口事件的矩形部分,根据其在屏幕上的位置将事件调度到该部分。

property bottom: int#

此部分的底边

property enabled: bool#

启用或禁用此部分

get_xy_screen_relative(section_x: int, section_y: int)[源代码]#

从截面坐标返回屏幕坐标

get_xy_section_relative(screen_x: int, screen_y: int)[源代码]#

从屏幕坐标返回截面坐标

property height: int#

这一段的高度

property left: int#

此部分的左边缘

property modal: bool#

返回模式状态(阻止以下部分接收输入事件和更新)

mouse_is_on_top(x: int, y: int) bool[源代码]#

检查当前鼠标位置是否在此部分的顶部

overlaps_with(section) bool[源代码]#

检查此节是否与另一节重叠

property right: int#

此部分的右边缘

property section_manager: Optional[arcade.sections.SectionManager]#

返回节管理器

property top: int#

此部分的上边缘

property view#

此部分设置所在的视图

property width: int#

此部分的宽度

property window#

查看窗口

arcade.SectionManager#

class arcade.SectionManager(view)[源代码]#

这将管理一个视图具有的不同部分。将事件调度到正确的部分、绘制顺序等操作。

add_section(section: arcade.sections.Section, at_index: Optional[int] = None) None[源代码]#

将节添加到该节管理器:参数节:要添加到该节的节管理器:param at_index:在该索引处插入节。如果末尾没有

clear_sections()[源代码]#

删除所有节

disable() None[源代码]#

禁用所有部分

disable_all_keyboard_events() None[源代码]#

从所有分区中删除键盘事件处理

dispatch_keyboard_event(event, *args, **kwargs) Optional[bool][源代码]#

将键盘事件调度到正确部分的泛型方法

dispatch_mouse_event(event: str, x: int, y: int, *args, **kwargs) Optional[bool][源代码]#

将鼠标事件调度到正确的节的泛型方法

enable() None[源代码]#

启用所有部分

get_section(x: int, y: int) Optional[arcade.sections.Section][源代码]#

根据x,y位置返回第一个节

get_section_by_name(name: str) Optional[arcade.sections.Section][源代码]#

返回具有给定名称的第一个节

property has_sections: bool#

如果节可用,则返回TRUE

on_draw()[源代码]#

在每个事件循环上调用。首先调度VIEW事件,然后调度部分事件。它会自动为每个具有摄影机的部分调用camera.use(),并在需要时通过随后调用默认的SectionManager摄影机来重置摄影机效果。

on_mouse_drag(x: int, y: int, *args, **kwargs) Optional[bool][源代码]#
此方法调度On_MICE_Drag并计算

如果应触发On_MICE_ENTER/Leave

on_mouse_motion(x: int, y: int, *args, **kwargs) Optional[bool][源代码]#
此方法调度ON_MICE_MOTION并计算

如果应触发On_MICE_ENTER/Leave

on_resize(width: int, height: int)[源代码]#

在调整窗口大小时调用。首先调度VIEW事件,然后调度部分事件。

on_update(delta_time: float)[源代码]#

在每个事件循环上调用。首先调度VIEW事件,然后调度部分事件。

remove_section(section: arcade.sections.Section) None[源代码]#

从此分区管理器中删除分区

update(delta_time: float)[源代码]#

在每个事件循环上调用。首先调度VIEW事件,然后调度部分事件。

arcade.NoOpenGLException#

class arcade.NoOpenGLException[源代码]#

当我们无法获取OpenGL 3.3+上下文时出现异常

arcade.View#

class arcade.View(window: Optional[arcade.application.Window] = None)[源代码]#

在一个窗口中支持不同的视图/屏幕。

add_section(section, at_index: Optional[int] = None) None[源代码]#

将横断面添加到视图横断面管理器。:param段:要添加到该节的节管理器:param at_index:在该索引处插入节。如果末尾没有

clear(color: Optional[Union[Tuple[int, int, int], List[int], Tuple[int, int, int, int]]] = None, normalized: bool = False, viewport: Optional[Tuple[int, int, int, int]] = None)[源代码]#

使用通过设置的配置背景颜色清除视图的窗口 arcade.Window.background_color

参数
  • color (Color) -- 覆盖当前背景色的可选颜色

  • normalized (bool) -- 如果颜色格式为规格化(0.0->1.0)或字节值

  • viewport (Tuple[int, int, int, int]) -- 要清除的视区范围

property has_sections: bool#

如果视图包含节,则返回

on_draw()[源代码]#

在应绘制此视图时调用

on_hide_view()[源代码]#

在隐藏此视图时调用一次。

on_key_press(symbol: int, modifiers: int)[源代码]#

覆盖此功能以添加按键功能。

参数
  • symbol (int) -- 按下的键

  • modifiers (int) -- 在此事件期间按下的所有修饰符(Shift、Ctrl、Num Lock)的位‘and’。看见 修饰词

on_key_release(_symbol: int, _modifiers: int)[源代码]#

重写此函数以添加按键释放功能。

参数
  • _symbol (int) -- 按下的键

  • _modifiers (int) -- 在此事件期间按下的所有修饰符(Shift、Ctrl、Num Lock)的位‘and’。看见 修饰词

on_mouse_drag(x: int, y: int, dx: int, dy: int, _buttons: int, _modifiers: int)[源代码]#

覆盖此函数以添加鼠标按钮功能。

参数
  • x (int) -- 鼠标的X位置

  • y (int) -- 鼠标的Y位置

  • dx (int) -- 自上次调用此方法以来x的变化

  • dy (int) -- 自上次调用此方法以来y的更改

  • _buttons (int) -- 按下了哪个按钮

  • _modifiers (int) -- 在此事件期间按下的所有修饰符(Shift、Ctrl、Num Lock)的位‘and’。看见 修饰词

on_mouse_enter(x: int, y: int)[源代码]#

当鼠标移入窗口时调用。如果当前正在拖动鼠标,则不会触发此事件。

参数
  • x (int) -- 鼠标的X位置

  • y (int) -- 鼠标的Y位置

on_mouse_leave(x: int, y: int)[源代码]#

当鼠标移出窗口时调用。如果当前正在拖动鼠标,则不会触发此事件。请注意,鼠标指针的坐标将位于窗口矩形之外。

参数
  • x (int) -- 鼠标的X位置

  • y (int) -- 鼠标的Y位置

on_mouse_motion(x: int, y: int, dx: int, dy: int)[源代码]#

覆盖此函数以添加鼠标功能。

参数
  • x (int) -- 鼠标的X位置

  • y (int) -- 鼠标的Y位置

  • dx (int) -- 自上次调用此方法以来x的变化

  • dy (int) -- 自上次调用此方法以来y的更改

on_mouse_press(x: int, y: int, button: int, modifiers: int)[源代码]#

覆盖此函数以添加鼠标按钮功能。

参数
  • x (int) -- 鼠标的X位置

  • y (int) -- 鼠标的Y位置

  • button (int) -- 哪个按钮被按下了。其中之一:arcade.MOUSE_BUTTON_LEFT,arcade.MOUSE_BUTTON_RIGHT,arcade.MOUSE_BUTTON_MIDE.

  • modifiers (int) -- 在此事件期间按下的所有修饰符(Shift、Ctrl、Num Lock)的位‘and’。看见 修饰词

on_mouse_release(x: int, y: int, button: int, modifiers: int)[源代码]#

覆盖此函数以添加鼠标按钮功能。

参数
  • x (int) -- 鼠标的X位置

  • y (int) -- 鼠标的Y位置

  • button (int) -- 哪个按钮被按下了。其中之一:arcade.MOUSE_BUTTON_LEFT,arcade.MOUSE_BUTTON_RIGHT,arcade.MOUSE_BUTTON_MIDE.

  • modifiers (int) -- 在此事件期间按下的所有修饰符(Shift、Ctrl、Num Lock)的位‘and’。看见 修饰词

on_mouse_scroll(x: int, y: int, scroll_x: int, scroll_y: int)[源代码]#

用户移动滚轮。

参数
  • x (int) -- 鼠标的X位置

  • y (int) -- 鼠标的Y位置

  • scroll_x (int) -- 自上次调用以来已滚动的x个像素的ammout

  • scroll_y (int) -- 自上次调用以来滚动的y个像素的ammout

on_resize(width: int, height: int)[源代码]#

在此视图处于活动状态时调整窗口大小时调用。 on_resize() 也是单独调用的。默认情况下,此方法不执行任何操作,可以重写以处理调整大小逻辑。

on_show()[源代码]#

已弃用。使用 on_show_view() 取而代之的是。

on_show_view()[源代码]#

在显示视图时调用一次。

on_update(delta_time: float)[源代码]#

被覆盖

update(delta_time: float)[源代码]#

被覆盖

arcade.Window#

class arcade.Window(width: int = 800, height: int = 600, title: Optional[str] = 'Arcade Window', fullscreen: bool = False, resizable: bool = False, update_rate: Optional[float] = 0.016666666666666666, antialiasing: bool = True, gl_version: Tuple[int, int] = (3, 3), screen: Optional[pyglet.canvas.base.Screen] = None, style: Optional[str] = None, visible: bool = True, vsync: bool = False, gc_mode: str = 'context_gc', center_window: bool = False, samples: int = 4, enable_polling: bool = True)[源代码]#

Window类构成了使用Arcade的大多数高级游戏的基础。它代表屏幕上的一个窗口,并管理事件。

参数
  • width (int) -- 窗口宽度

  • height (int) -- 窗高

  • title (str) -- 标题(显示在标题栏中)

  • fullscreen (bool) -- 这应该是全屏显示吗?

  • resizable (bool) -- 用户可以调整窗口大小吗?

  • update_rate (float) -- 更新窗口的频率。

  • antialiasing (bool) -- 是否应该启用OpenGL的抗锯齿功能?

  • gl_version (Tuple[int,int]) -- 要请求的OpenGL版本。这是 (3, 3) 默认情况下,并且在使用更高级的OpenGL功能时可以被覆盖。

  • visible (bool) -- 窗口是否应立即可见

  • vsync (bool) -- 在交换缓冲区之前等待垂直屏幕刷新这可以使动画和移动看起来更流畅。

  • gc_mode (bool) -- 决定应如何垃圾收集OpenGL对象(“CONTEXT_GC”(默认)或“AUTO”)

  • center_window (bool) -- 如果为True,将使窗口居中。

  • samples (bool) -- 抗锯齿中使用的采样数(默认为4)。通常是2、4、8或16。

  • enable_polling (bool) -- 已启用输入轮询功能。这使得 keyboardmouse 可用的属性。

activate()[源代码]#

激活此窗口。

property background_color: Union[Tuple[int, int, int], List[int], Tuple[int, int, int, int]]#

获取或设置此窗口的背景色。这会影响窗口在以下情况下将包含的颜色 clear() 被称为。

示例:

# Use Arcade's built in color values
window.background_color = arcade.color.AMAZON

# Specify RGB value directly (red)
window.background_color = 255, 0, 0

如果背景颜色为 RGB 值而不是 RGBA 我们假设alpha值为255。

类型

颜色

center_window()[源代码]#

使窗口在屏幕上居中。

clear(color: Optional[Union[Tuple[int, int, int], List[int], Tuple[int, int, int, int]]] = None, normalized: bool = False, viewport: Optional[Tuple[int, int, int, int]] = None)[源代码]#

使用通过设置的配置背景色清除窗口 arcade.Window.background_color

参数
  • color (Color) -- 覆盖当前背景色的可选颜色

  • normalized (bool) -- 如果颜色格式为规格化(0.0->1.0)或字节值

  • viewport (Tuple[int, int, int, int]) -- 要清除的视区范围

close()[源代码]#

关上窗户。

property ctx: arcade.context.ArcadeContext#

此窗口的OpenGL上下文。

类型

arcade.ArcadeContext

property current_view: Optional[arcade.application.View]#

此属性返回当前显示的视图。若要设置不同的视图,请调用 arcade.Window.show_view() 方法。

返回类型

arcade.View

dispatch_events()[源代码]#

调度事件

flip()[源代码]#

窗口帧缓冲区通常有后台缓冲区和前台缓冲区。此方法使后台缓冲区可见,并隐藏前台缓冲区。一个帧被渲染到后台缓冲区中,因此此方法显示我们当前处理的帧。

此方法还会在交换缓冲区之前对OpenGL资源进行垃圾回收。

get_location() Tuple[int, int][源代码]#

返回窗口的X/Y坐标

返回

窗口位置的X、Y

get_size() Tuple[int, int][源代码]#

获取窗口的大小。

返回

(宽度、高度)

get_system_mouse_cursor(name)[源代码]#

获取系统鼠标光标

get_viewport() Tuple[float, float, float, float][源代码]#

获取视区。(我们可以看到的坐标。)

headless#

Bool:如果这是一扇无头窗户

hide_view()[源代码]#

隐藏当前活动的视图(如果有),使我们返回 on_drawon_update 窗口中的函数。

如果要切换视图,则不需要调用此选项。只需拨打 show_view 再来一次。

maximize()[源代码]#

最大化窗口。

minimize()[源代码]#

最小化窗口。

on_draw()[源代码]#

覆盖此函数以添加自定义绘图代码。

on_key_press(symbol: int, modifiers: int)[源代码]#

覆盖此功能以添加按键功能。

参数
  • symbol (int) -- 按下的键

  • modifiers (int) -- 在此事件期间按下的所有修饰符(Shift、Ctrl、Num Lock)的位‘and’。看见 修饰词

on_key_release(symbol: int, modifiers: int)[源代码]#

重写此函数以添加按键释放功能。

参数
  • symbol (int) -- 按下的键

  • modifiers (int) -- 在此事件期间按下的所有修饰符(Shift、Ctrl、Num Lock)的位‘and’。看见 修饰词

on_mouse_drag(x: int, y: int, dx: int, dy: int, buttons: int, modifiers: int)[源代码]#

覆盖此函数以添加鼠标按钮功能。

参数
  • x (int) -- 鼠标的X位置

  • y (int) -- 鼠标的Y位置

  • dx (int) -- 自上次调用此方法以来x的变化

  • dy (int) -- 自上次调用此方法以来y的更改

  • buttons (int) -- 按下了哪个按钮

  • modifiers (int) -- 在此事件期间按下的所有修饰符(Shift、Ctrl、Num Lock)的位‘and’。看见 修饰词

on_mouse_enter(x: int, y: int)[源代码]#

当鼠标移入窗口时调用。如果当前正在拖动鼠标,则不会触发此事件。

参数
on_mouse_leave(x: int, y: int)[源代码]#

当鼠标移出窗口时调用。如果当前正在拖动鼠标,则不会触发此事件。请注意,鼠标指针的坐标将位于窗口矩形之外。

参数
on_mouse_motion(x: int, y: int, dx: int, dy: int)[源代码]#

覆盖此函数以添加鼠标功能。

参数
  • x (int) -- 鼠标的X位置

  • y (int) -- 鼠标的Y位置

  • dx (int) -- 自上次调用此方法以来x的变化

  • dy (int) -- 自上次调用此方法以来y的更改

on_mouse_press(x: int, y: int, button: int, modifiers: int)[源代码]#

覆盖此函数以添加鼠标按钮功能。

参数
  • x (int) -- 鼠标的X位置

  • y (int) -- 鼠标的Y位置

  • button (int) -- 哪个按钮被按下了。其中之一:arcade.MOUSE_BUTTON_LEFT,arcade.MOUSE_BUTTON_RIGHT,arcade.MOUSE_BUTTON_MIDE.

  • modifiers (int) -- 在此事件期间按下的所有修饰符(Shift、Ctrl、Num Lock)的位‘and’。看见 修饰词

on_mouse_release(x: int, y: int, button: int, modifiers: int)[源代码]#

覆盖此函数以添加鼠标按钮功能。

参数
  • x (int) -- 鼠标的X位置

  • y (int) -- 鼠标的Y位置

  • button (int) -- 哪个按钮被按下了。其中之一:arcade.MOUSE_BUTTON_LEFT,arcade.MOUSE_BUTTON_RIGHT,arcade.MOUSE_BUTTON_MIDE.

  • modifiers (int) -- 在此事件期间按下的所有修饰符(Shift、Ctrl、Num Lock)的位‘and’。看见 修饰词

on_mouse_scroll(x: int, y: int, scroll_x: int, scroll_y: int)[源代码]#

用户移动滚轮。

参数
  • x (int) -- 鼠标的X位置

  • y (int) -- 鼠标的Y位置

  • scroll_x (int) -- 自上次调用以来已滚动的x个像素的ammout

  • scroll_y (int) -- 自上次调用以来滚动的y个像素的ammout

on_resize(width: float, height: float)[源代码]#

重写此函数可添加自定义代码,以便在调整窗口大小时随时调用。此方法的主要职责是更新投影和视区。

如果在重写时不更改默认行为,请确保调用父级的 on_resize 第一名::

def on_resize(self, width: int, height: int):
    super().on_resize(width, height)
    # Add extra resize logic here
参数
  • width (int) -- 新宽度

  • height (int) -- 新高度

on_update(delta_time: float)[源代码]#

把所有东西都搬开。执行冲突检查。在这里做所有的游戏逻辑。

参数

delta_time (float) -- 自上次调用函数以来的时间间隔。

run()[源代码]#

快捷键 arcade.run()

例如::

MyWindow().run()
set_caption(caption)[源代码]#

设置窗口的标题。

set_exclusive_keyboard(exclusive=True)[源代码]#

捕获所有键盘输入。

set_exclusive_mouse(exclusive=True)[源代码]#

抓住这只老鼠。

set_fullscreen(fullscreen: bool = True, screen: Optional[arcade.application.Window] = None, mode: Optional[pyglet.canvas.base.ScreenMode] = None, width: Optional[float] = None, height: Optional[float] = None)[源代码]#

设置我们是否全屏。

参数
  • fullscreen (bool) --

  • screen -- 我们应该在哪个屏幕上显示?看见 get_screens()

  • mode (pyglet.canvas.ScreenMode) -- 屏幕将切换到给定模式。该模式必须是通过枚举 Screen.get_modes 。如果没有,将从给定的模式中选择合适的模式 widthheight

  • width (int) --

  • height (int) --

set_location(x, y)[源代码]#

设置窗口的位置。

set_max_size(width: int, height: int)[源代码]#

包装Pyglet窗口调用以设置最大大小

参数
  • width (int) -- 以像素为单位的宽度。

  • height (int) -- 以像素为单位的高度。

引发ValueError

set_maximum_size(width, height)[源代码]#

设置最大窗口大小。

set_min_size(width: int, height: int)[源代码]#

包装Pyglet窗口调用以设置最小大小

参数
  • width (float) -- 以像素为单位的宽度。

  • height (float) -- 以像素为单位的高度。

set_minimum_size(width: int, height: int)[源代码]#

设置最小窗口大小。

set_mouse_platform_visible(platform_visible=None)[源代码]#

此方法仅公开/覆盖,因为它会导致PyCharm显示警告。此功能用于设置特定于平台的鼠标光标可见性,只有高级用户才会关心。

有关详细信息,请参阅侏儒文档。

set_mouse_visible(visible: bool = True)[源代码]#

如果为True,则当鼠标光标位于窗口上方时,用户可以看到它。设置为False时,鼠标不可见。默认值为True。

参数

visible (bool) --

set_size(width: int, height: int)[源代码]#

忽略可调整大小标志并设置大小

参数
  • width (int) --

  • height (int) --

set_update_rate(rate: float)[源代码]#

设置屏幕的更新频率。例如,self.set_update_rate(1/60)会将更新速率设置为60 fps

参数

rate (float) -- 更新频率(秒)

set_viewport(left: float, right: float, bottom: float, top: float)[源代码]#

设置视区。(我们可以看到的坐标。用于缩放和/或滚动屏幕)。

看见 arcade.set_viewport() 以获取更详细的信息。

参数
  • left (Number) --

  • right (Number) --

  • bottom (Number) --

  • top (Number) --

set_visible(visible: bool = True)[源代码]#

设置窗口是否可见。通常情况下,程序的窗口是可见的。

参数

visible (bool) --

set_vsync(vsync: bool)[源代码]#

设置是否将我们的绘图同步到显示器的垂直同步速率。

show_view(new_view: arcade.application.View)[源代码]#

选择要在下一帧中显示的视图。这不是显示该视图的阻塞调用。在此调用之后,您的代码将继续运行,并且该视图将出现在 on_update/on_draw `

调用此函数与设置 arcade.Window.current_view 属性。

参数

new_view (View) -- 要显示的视图

switch_to()[源代码]#

切换此窗口。

test(frames: int = 10)[源代码]#

由单元测试用例使用。运行事件循环几次,然后停止。

参数

frames (int) --

update(delta_time: float)[源代码]#

把所有东西都搬开。为了更好地保持命名一致性,请使用 on_update 取而代之的是。

参数

delta_time (float) -- 自上次调用函数以来的时间间隔(秒)。

use()[源代码]#

为渲染命令绑定窗口的帧缓冲区

arcade.get_screens#

arcade.get_screens()[源代码]#

返回屏幕列表。因此,对于双显示器设置,这应该返回两个屏幕的列表。可与arcade.Window配合使用,以选择在哪个窗口上全屏显示。

返回

屏幕列表,每个显示器一个屏幕。

返回类型

List

arcade.open_window#

arcade.open_window(width: int, height: int, window_title: Optional[str] = None, resizable: bool = False, antialiasing: bool = True) arcade.application.Window[源代码]#

此功能用于打开一个窗口。为了便于使用,我们假设只有一个窗口,程序员不需要保留该窗口的句柄。这不是最好的体系结构,因为窗口句柄存储在全局中,但如果程序员不必跟踪窗口指针,它会使事情变得更容易。

参数
  • width (Number) -- 窗口的宽度。

  • height (Number) -- 窗的高度。

  • window_title (str) -- 窗口的标题。

  • resizable (bool) -- 窗口是否可以由用户调整大小。

  • antialiasing (bool) -- 要平滑图形吗?

返回

窗口的句柄

返回类型

Window