跳转到内容

多边形

类型标识:POLYGON

旋转角度(度),顺时针为正。类型 float,默认 0。

是否参与碰撞检测。类型 bool,默认 False。

形状相对对象中心的偏移(bbox 不适用)。类型 float,默认 0。

polygon 形状的顶点列表。类型 list,默认 []。

碰撞形状:'bbox'、'rect'、'ellipse' 或 'polygon'。类型 str,默认 'rect'。

rect 与 ellipse 形状的尺寸。类型 float,默认为对象尺寸。

填充色、文字色或图像着色,取决于对象类型。类型 (r, g, b, a),默认 (255, 255, 255, 255)。

层级面板中显示的名称。运行时只读。类型 str。

角速度阻尼。类型 float,默认 0。

弹性系数(0 为完全非弹性,1 为完全弹性)。类型 float,默认 0.2。

是否启用刚体物理。类型 bool,默认 False。

是否固定旋转(碰撞也不会让它转动)。类型 bool,默认 False。

摩擦系数。类型 float,默认 0.6。

重力缩放(0 表示不受重力影响)。类型 float,默认 1。

线速度阻尼。类型 float,默认 0。

质量。类型 float,默认 1。

physics_shape_height、physics_shape_width

Section titled “physics_shape_height、physics_shape_width”

刚体形状 rect、ellipse 的尺寸(0 表示使用对象自身尺寸)。类型 float,默认 0。

physics_shape_offset_x、physics_shape_offset_y

Section titled “physics_shape_offset_x、physics_shape_offset_y”

刚体形状相对对象中心的偏移。类型 float,默认 0。

刚体形状 polygon 的顶点列表。类型 list,默认 []。

刚体形状:'rect'、'ellipse' 或 'polygon'。类型 str,默认 'rect'。

刚体类型:'static'、'dynamic' 或 'kinematic'。类型 str,默认 'dynamic'。

变换基准点模式,可选值见 set_pivot()。类型 str,默认 'center'。

'custom' 基准点的坐标(对象自身的像素网格,原点在对象左上角)。类型 float,默认 0。

顶点列表(场景坐标);顶点 (0, 0) 位于画布原点,因此顶点列表描述的是形状的绝对位置。类型 list,默认 = 五边形。

即 (x, y),赋值时会同步更新 x 和 y。类型 (int, int),默认 (20, 20)。

即 (scale_x, scale_y)。类型 (float, float),默认 (1, 1)。

缩放系数(1 为原始大小)。类型 float,默认 1。

已挂载脚本的路径(相对于工程目录)。类型 str,默认 ''。

即 (width, height)。类型 (int, int)。

类型标识,如 RECT、TEXT_INPUT。运行时只读。类型 str。

唯一标识,供 get_object_by_uuid() 使用。运行时只读。类型 str。

隐藏的对象不会绘制,也无法被点击。类型 bool,默认 True。

像素尺寸。类型 int,默认随对象类型而定。

相对于父对象的位置。类型 int,默认 20。

is_colliding_with_object 的别名。

  • other(object):另一个对象。

点(场景坐标)是否落在碰撞形状内。

  • x(int):点的 x(场景坐标)。
  • y(int):点的 y(场景坐标)。

形状是否与 pygame.Rect 或 (x, y, w, h) 元组重叠。

  • rect(pygame.Rect | (int, int, int, int)):矩形(场景坐标)。

对象中心到某个点的距离。

  • x(int):点的 x(场景坐标)。
  • y(int):点的 y(场景坐标)。

两个对象中心之间的距离。

  • other(object):另一个对象。

旋转角度(度)。

对象中心(场景坐标)。

碰撞形状的中心(场景坐标)。

形状相对对象中心的偏移。

多边形顶点列表。

椭圆形状的半径(较短边的一半)。

与矩形的重叠区域,没有重叠时为 None。

  • x(int):矩形的 x(场景坐标)。
  • y(int):矩形的 y(场景坐标)。
  • width(int):矩形宽度。
  • height(int):矩形高度。

rect 与 ellipse 形状的尺寸。

当前碰撞形状。

填充、文字或着色颜色 (r, g, b, a)。

从对象指向某点的单位向量 (dx, dy)。

  • x(int):点的 x(场景坐标)。
  • y(int):点的 y(场景坐标)。

高度(像素)。

对象名称。

变换基准点模式(如 'center'、'top_left'、'custom')。

基准点解析到对象内容像素后的坐标 (x, y)。

顶点列表(场景坐标)。

相对父对象的本地坐标 (x, y)。

对象的本地 pygame.Rect。

缩放系数 (scale_x, scale_y)。

x 方向缩放系数。

y 方向缩放系数。

尺寸 (宽, 高)(像素)。

对象类型标识。

对象 uuid。

读取 visible 状态。

宽度(像素)。

叠加父对象偏移后的场景坐标。

场景坐标下的 pygame.Rect。

本地坐标的 x 分量。

本地坐标的 y 分量。

隐藏对象,等同于设置 obj.visible = False。

两个对象都开启碰撞且形状重叠时为 True。

  • other(object):另一个对象。

is_colliding_with_rect(x, y, width, height)

Section titled “is_colliding_with_rect(x, y, width, height)”

形状是否与给定矩形重叠。

  • x(int):矩形的 x(场景坐标)。
  • y(int):矩形的 y(场景坐标)。
  • width(int):矩形宽度。
  • height(int):矩形高度。

该对象是否开启了碰撞检测。

对象是否被隐藏。

轻量检测:点落在对象的外接矩形内即为 True。

  • x(int):点的 x(场景坐标)。
  • y(int):点的 y(场景坐标)。

逐像素检测:只有落在非透明像素上才是 True。适合处理点击,不适合每帧调用。

  • x(int):点的 x(场景坐标)。
  • y(int):点的 y(场景坐标)。

同 is_visible()。

对象是否可见。

在当前位置上移动 (dx, dy) 像素。

  • dx(int):水平位移。
  • dy(int):垂直位移。

把形状字段重置为对象自身尺寸。

设置旋转角度。

  • degrees(float):角度(度),顺时针为正。

设置对象中心(场景坐标)。

  • x(int):新的中心 x。
  • y(int):新的中心 y。

便捷方法:用两个半径设置椭圆。

  • radius_x(float):水平半径。
  • radius_y(float):垂直半径。

开启 / 关闭碰撞检测。关闭时所有 collides_with_* / is_colliding_* 都返回 False。

  • enabled(bool):True / False。

让形状相对对象中心偏移(会跟随缩放与旋转)。

  • x(float):水平偏移。
  • y(float):垂直偏移。

设置多边形顶点。

  • points(list):顶点列表,例如 [(0, 0), (50, 0), (25, 40)]。

设置 rect 与 ellipse 的尺寸。

  • width(int):形状宽度。
  • height(int):形状高度。

设置碰撞形状。

  • type(str):'bbox'、'rect'、'ellipse' 或 'polygon'。

设置颜色。

  • color((r, g, b, a)):新的颜色元组。

设置高度。

  • h(int):新的高度(像素)。

设置变换基准点模式。

  • pivot(str):'center'(默认)、'top_left'、'top_center'、'top_right'、'center_left'、'center_right'、'bottom_left'、'bottom_center'、'bottom_right' 或 'custom'。

把基准点设到对象自身像素网格的任意一点(同时把 pivot 设为 'custom')。

  • x(float):基准点 x(对象自身像素网格)。
  • y(float):基准点 y。

替换顶点。

  • points(list):顶点列表(场景坐标),例如 [(0, 0), (100, 0), (50, 80)]。

设置相对父对象的本地坐标。

  • x(int):新的 x,相对父对象(像素)。
  • y(int):新的 y,相对父对象(像素)。

设置两个缩放系数。

  • sx(float):x 方向缩放系数。
  • sy(float):y 方向缩放系数。

设置 x 方向缩放系数。

  • sx(float):x 方向缩放系数。

设置 y 方向缩放系数。

  • sy(float):y 方向缩放系数。

设置尺寸(像素)。

  • width(int):新的宽度。
  • height(int):新的高度。

设置 visible 状态。

  • visible(bool):True 显示对象,False 隐藏对象。

设置宽度。

  • w(int):新的宽度(像素)。

设置场景坐标(已叠加父对象偏移)。

  • x(int):新的 x(场景坐标)。
  • y(int):新的 y(场景坐标)。

设置本地坐标的 x 分量。

  • x(int):新的 x,相对父对象。

设置本地坐标的 y 分量。

  • y(int):新的 y,相对父对象。

显示对象,等同于设置 obj.visible = True。

在该对象上完成一次按下并释放。

开始与 other 重叠(双方都需要开启碰撞)。

  • other(object):另一个对象。

与 other 的重叠结束。

  • other(object):另一个对象。

场景被替换、对象被 studio.destroy_object() 移除,或游戏退出时执行。

双击该对象。

拖动过程中鼠标移动。

  • pos((int, int)):指针位置(场景坐标)。

拖动结束。

在对象上开始拖动。

鼠标移入对象。

鼠标移出对象。

在该对象上按下鼠标左键。

在该对象上按下的按键被释放。

右键点击该对象。

场景加载完成后执行一次。

每帧执行。

  • dt(float):距上一帧的秒数。

对象被显示或隐藏时。

  • visible(bool):显示为 True,隐藏为 False。