scene API 索引
按生命周期、节点、Action、Physics、Classic 绘图与常量查 scene 公开名称。
按生命周期、节点、Action、Physics、Classic 绘图与常量快速查找 scene 公开名称。
精确签名以 scene API 参考 与 运行时/scene类型存根 为准。
#最小入口
已复制
import scene
class DemoScene(scene.Scene):
def setup(self):
self.background_color = "black"
def draw(self):
scene.fill(1, 1, 1)
scene.text("scene", x=self.size.w / 2, y=self.size.h / 2, font_size=24)
scene.run(DemoScene())
#先看哪一类
| 你要做什么 | 先看 |
|---|---|
| 启动与关闭场景 | run、Scene.setup、Scene.stop(关闭回调) |
| 每帧逻辑 | update、dt、t、frame_count |
| 精灵 / 文字 / 形状 | SpriteNode、LabelNode、ShapeNode、Texture |
| 动画 | Action.move_to、Action.sequence、Action.repeat_forever |
| 触摸 | touch_began、Touch.location |
| 碰撞 | PhysicsBody、contact_began、Contact |
| Classic 画布 | background、fill、rect、ellipse、line、text |
| 屏幕与安全区 | get_screen_size、get_safe_area_insets |
| 模态场景 | present_modal_scene、dismiss_modal_scene |
#索引
#模块函数
| 名称 | 说明 |
|---|---|
run | 运行 Scene 子类(阻塞至关闭) |
get_screen_size | 屏幕尺寸 → Size |
get_screen_scale | 屏幕缩放因子 |
get_safe_area_insets | 安全区 → EdgeInsets |
gravity | 设备重力向量 → Vector3 |
play_effect | 播放系统音效 |
get_image_path | 解析内置图片路径 |
get_controllers | 已连接游戏手柄列表 |
#Classic 绘图
| 名称 | 说明 |
|---|---|
background | 清屏背景色 |
fill / no_fill | 填充色 |
stroke / no_stroke / stroke_weight | 描边 |
tint / no_tint | 着色 |
rect / ellipse / line | 基础图形 |
image / text | 图片与文字 |
translate / rotate / scale | 变换 |
push_matrix / pop_matrix | 矩阵栈 |
blend_mode / use_shader | 混合与着色器 |
load_image / load_image_file / load_pil_image / unload_image | 图片资源 |
render_text | 预渲染文字纹理 |
image_quad ⚠️ | 未实现 |
triangle_strip ⚠️ | 未实现 |
#几何与输入
| 名称 | 说明 |
|---|---|
Point / Size / Rect / Vector2 / Vector3 | 几何类型 |
EdgeInsets | 安全区内边距 |
Touch | location、prev_location、touch_id |
Contact | 物理碰撞回调:node_a、node_b、contact_point |
#类
| 名称 | 说明 |
|---|---|
Scene | 场景基类 |
SceneView | 嵌入式场景视图(高级) |
Node | 节点基类 |
SpriteNode | 精灵 |
LabelNode | 文字 |
ShapeNode | 矢量路径 |
EffectNode | 特效节点 |
EmitterNode | 粒子发射器 |
Texture | 纹理 |
Shader | 自定义着色器 |
Action | 动作工厂 |
PhysicsWorld / PhysicsBody | 物理 |
PinJoint / SpringJoint / RopeJoint | 关节约束 |
#Scene 生命周期方法
setup、update、draw、did_evaluate_actions、touch_began、touch_moved、touch_ended、did_change_size、controller_changed、contact_began、present_modal_scene、dismiss_modal_scene、pause、resume、stop
#Scene 常用属性
size、bounds、background_color、children、physics_world、safe_area_insets、dt、t、frame_count、touches、effects_enabled、crop_rect、view、presented_scene、presenting_scene
#Action 静态方法
move_to、move_by、rotate_to、rotate_by、scale_to、scale_by、scale_x_to、scale_y_to、fade_to、fade_by、sequence、group、repeat、repeat_forever、wait、remove、call、set_uniform
#常量
| 分组 | 名称 |
|---|---|
| 方向 | DEFAULT_ORIENTATION、PORTRAIT、LANDSCAPE |
| 混合 | BLEND_NORMAL、BLEND_ADD、BLEND_MULTIPLY |
| 纹理过滤 | FILTERING_LINEAR、FILTERING_NEAREST |
| 缓动 | TIMING_LINEAR、TIMING_EASE_IN、TIMING_EASE_OUT、TIMING_EASE_IN_OUT、TIMING_SINODIAL、TIMING_BOUNCE_*、TIMING_ELASTIC_*、TIMING_EASE_BACK_* |
#相关文档
| 文档 | 用途 |
|---|---|
| scene 概览 | 教程、可运行示例、常见错误 |
| scene API 参考 | 构造函数与参数详解 |
#失败路径
| 情况 | 处理 |
|---|---|
| 权限被拒绝 | 在设置中开启权限后,从用户触发的回调重试 |
| 设备或能力不可用 | 先检查返回值或 is_available(),再给用户可读提示 |
| 用户取消 | 保留当前界面状态,不要当作成功继续流程 |
| 参数或 API 名错误 | 对照模块 API 参考与 schema,修正后再运行 |
#预期效果
运行示例后,界面应出现文档描述的目标结果;若与预期不符,请按「失败路径」排查。