跳转到内容

瓦片地图

类型标识:TILE_MAP

旋转角度(度),顺时针为正。类型 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)。

地图尺寸(以图块为单位)。类型 int,默认 8、6。

图层字典:{'name', 'visible', 'collision', 'tiles'}。类型 list,默认 1 层。地图是在图块集图片上铺出的一片网格,图块编号 -1 表示空;其中一层可以标记为碰撞层——该层中只要放有图块,对应的格子就算作实心。

层级面板中显示的名称。运行时只读。类型 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。

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

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

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

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

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

单个图块的尺寸(像素)。类型 int,默认 32、32。

图块集图片,相对于工程目录。类型 str,默认 ''。

类型标识;瓦片地图为 TILE_MAP。运行时只读。类型 str。

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

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

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

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

清空一层(等同于 fill_tiles(-1))。

  • layer(int | None):图层序号;默认使用当前活动图层。

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)):矩形(场景坐标)。

某个矩形(场景坐标)与实心格子重叠时为 True。

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

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

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

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

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

用同一个图块编号填满整层。

  • tile_id(int):图块编号;-1 表示清空。
  • layer(int | None):图层序号;默认使用当前活动图层。

编辑器中正在绘制的图层序号。

当前激活图层所有格子的瓦片 id 列表。

旋转角度(度)。

对象中心(场景坐标)。

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

碰撞层的序号;没有标记碰撞层时为 None。

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

多边形顶点列表。

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

与矩形的重叠区域,没有重叠时为 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(场景坐标)。

高度(像素)。

图层数量。

某一层的名称。

  • index(int):图层序号。

全部图层的名称。

某一层的图块编号列表。

  • index(int):图层序号。

地图的像素尺寸。

网格尺寸 (列数, 行数)。

对象名称。

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

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

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

对象的本地 pygame.Rect。

缩放系数 (scale_x, scale_y)。

x 方向缩放系数。

y 方向缩放系数。

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

某个格子的图块编号(-1 表示空);省略 layer 时使用当前活动图层。

  • column(int):格子列号。
  • row(int):格子行号。
  • layer(int | None):图层序号。

单个图块的尺寸 (宽, 高)。

图块集图片的 (宽, 高);未设置时为 (0, 0)。

当前图块集图片路径。

图块集中图块的数量。

切分好的图块表面(按行优先、与图块编号顺序一致)。

对象类型标识。

对象 uuid。

读取 visible 状态。

宽度(像素)。

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

场景坐标下的 pygame.Rect。

本地坐标的 x 分量。

本地坐标的 y 分量。

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

碰撞层在该格子放有图块时为 True。

  • column(int):格子列号。
  • row(int):格子行号。

两个对象都开启碰撞且形状重叠时为 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):矩形高度。

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

该层是否为碰撞层。

  • index(int):图层序号。

对象是否被隐藏。

该层是否渲染。

  • index(int):图层序号。

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

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

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

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

同 is_visible()。

某点(场景坐标)落在实心格子上时为 True(地图被旋转时返回 False)。

  • world_x(float):点的 x(场景坐标)。
  • world_y(float):点的 y(场景坐标)。

对象是否可见。

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

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

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

设置编辑器中正在绘制的图层(仅编辑器状态)。

  • index(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):新的高度(像素)。

设置网格尺寸(以图块为单位),所有图层都会重新适配。

  • columns(int):新的列数。
  • rows(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。

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

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

设置两个缩放系数。

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

设置 x 方向缩放系数。

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

设置 y 方向缩放系数。

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

设置尺寸(像素)。

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

set_tile(column, row, tile_id, layer=None)

Section titled “set_tile(column, row, tile_id, layer=None)”

设置单个格子。

  • column(int):格子列号。
  • row(int):格子行号。
  • tile_id(int):图块编号;-1 表示清空。
  • layer(int | None):图层序号;默认使用当前活动图层。

设置单个图块的尺寸。

  • tile_width(int):图块宽度(像素)。
  • tile_height(int):图块高度(像素)。

设置图块集图片。

  • tileset_path(str):图片文件(相对于工程目录)。

设置 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。