Optionaloptions: ITextOptions是否启用渲染缓存,用于性能优化
适用于包含大量静态子节点的容器,启用后会将子节点渲染结果缓存, 减少重复渲染开销。注意:只有在子节点很少变化时才应启用
是否启用节点,控制节点的整体可用性
设为 false 时节点完全不可用,脚本不执行,与 visible 不同:
节点标签名称,用于标识和查找节点
通常用于 findChild({ label: 'name' }) 等查找操作, 不要求唯一性,可以有多个节点使用相同标签,查找时会返回第一个匹配的节点
文本边距,防止文本在某些情况下绘制不完整,特别是斜体字或特殊字符
是否启用指针事件处理,控制节点是否响应鼠标/触摸交互
默认为 false 以提高性能,添加指针事件监听器时会自动启用。 启用后节点会参与点击测试,当父节点也启用时会优先检测父节点。 禁用此属性可以让指针事件"穿透"到下层节点
是否启用子节点的指针事件处理,控制是否检测子节点的交互
即使当前节点 pointerEnabled=false,如果此属性为 true, 仍会检测子节点的指针事件并进行事件冒泡。这允许容器节点 不响应交互但其子节点可以响应交互
Readonlyrender节点透明度,控制节点的不透明程度
范围为 0-1,其中 0 表示完全透明,1 表示完全不透明。 透明度会影响节点及其所有子节点,父节点的透明度会与子节点相乘。 设置为 0 的节点仍然可以接收指针事件。
节点锚点,以节点宽高的百分比表示的定位点
范围为 0-1,(0,0) 表示左上角,(0.5,0.5) 表示中心,(1,1) 表示右下角。 锚点决定了旋转和缩放的中心点,也影响节点的对齐方式。 设置锚点会自动重新计算 pivot 轴心点的像素坐标。
节点旋转角度,以角度为单位的旋转角度(0-360度)
这是 rotation 属性的角度版本,内部仍使用弧度存储。 正值为顺时针旋转,90度表示向右旋转90度。
子节点列表,只读属性,获取当前节点的所有直接子节点
此数组为只读,不应直接修改。要管理子节点,请使用 addChild、removeChild 等方法。 子节点在列表中的顺序决定了渲染顺序,索引越大的节点渲染在越上层。
是否已被销毁,销毁后不可再用
滤镜列表,只读属性,获取当前节点应用的所有滤镜效果
此数组为只读,不应直接修改。要管理滤镜,请使用 addFilter、removeFilter 等方法。 滤镜按照添加顺序依次应用,可以通过组合多个滤镜创建复杂的视觉效果。
获取或设置字体名称,例如 "Arial"、"Helvetica" 等
获取或设置字体大小,单位为像素
获取或设置字体样式,如 normal、italic 或 oblique
获取或设置字体粗细,可以是预定义值或数字字符串
节点高度,单位为像素
可以显式设置高度值,或自动从内容计算( -1 表示自动计算)。 设置高度会影响锚点的轴心点位置,并触发 resize 事件。 对于图片、文本等内容节点,通常由内容自动确定高度。
节点高度,单位为像素
可以显式设置高度值,或自动从内容计算( -1 表示自动计算)。 设置高度会影响锚点的轴心点位置,并触发 resize 事件。 对于图片、文本等内容节点,通常由内容自动确定高度。
节点唯一标识符,用于在节点树中唯一标识节点
如果未手动设置,会自动生成唯一 ID。在场景编辑器中通常用于节点的查找和引用。
获取或设置行高,单位为像素。当设置为 0 或负数时,自动使用字体大小作为行高
节点轴心点,旋转和缩放变换的中心点坐标,只读属性
轴心点是以像素为单位的绝对坐标,通常由 anchor 属性自动计算得出。 不建议直接修改,应该通过设置 anchor 属性来间接控制轴心点位置。
节点位置坐标,相对于父节点的本地坐标系
返回可观察的坐标点对象,可以直接修改 x、y 或使用 position.set(x, y)。
节点旋转弧度,以弧度为单位的旋转角度
正值为顺时针旋转,负值为逆时针旋转。旋转中心由 anchor 属性决定。 范围通常在 -Math.PI 到 Math.PI 之间,支持任意弧度值。
节点缩放比率,影响节点及其子节点的显示大小
返回可观察的缩放点对象,1.0 表示原始大小,0.5 表示缩小一半,2.0 表示放大一倍。 支持 x、y 轴独立缩放。缩放中心由 anchor 属性决定。
场景节点引用,提供场景级的管理功能
只有当节点被添加到场景节点的子树中时此属性才有值。 建议在频繁使用时缓存为局部变量以减少向上遍历的开销
脚本列表,获取或设置当前节点的所有脚本实例
脚本用于为节点添加行为逻辑和交互功能。设置新的脚本列表时, 会先销毁现有的所有脚本,然后添加新脚本。脚本按照添加顺序执行。
舞台节点引用,提供根级渲染和输入管理
只有当节点被添加到舞台的节点树中时此属性才有值。
获取或设置文本内容,设置时会自动按换行符(\n)分割成多行,触发重绘
获取或设置文本水平对齐方式,可选值为 left、center 或 right
获取或设置文本颜色,支持颜色字符串、渐变或图案
获取文本实际渲染高度(包含描边宽度和内边距)
获取或设置文本描边颜色,为空时不绘制描边
获取或设置文本描边宽度,为 0 时不绘制描边
获取渲染纹理,如果文本内容已更改则重新绘制。空文本返回空白纹理
获取文本实际渲染宽度(包含描边宽度和内边距)
节点叠加颜色,用于调整节点的整体色调
支持十六进制颜色值(如 0xff0000 表示红色)或颜色字符串。 叠加颜色会与节点原有颜色进行混合,白色(0xffffff)表示不改变原色。
节点变换对象,统一管理节点的位置、旋转、缩放等2D变换属性
通常不需要直接操作,而是通过 position、rotation、scale 等属性间接使用。
自定义数据存储,用于存储节点相关的任意附加信息
可以在此存储游戏逻辑相关的数据,如角色属性、状态信息等。 访问时会自动创建空对象,因此可以直接赋值使用。
节点可见性,控制节点是否参与渲染
只有当 visible=true 且 enabled=true 时节点才可见。 不可见的节点不会被渲染,但仍会执行脚本逻辑。 子节点的可见性受父节点影响。
节点宽度,单位为像素
可以显式设置宽度值,或自动从内容计算( -1 表示自动计算)。 设置宽度会影响锚点的轴心点位置,并触发 resize 事件。 对于图片、文本等内容节点,通常由内容自动确定宽度。
节点宽度,单位为像素
可以显式设置宽度值,或自动从内容计算( -1 表示自动计算)。 设置宽度会影响锚点的轴心点位置,并触发 resize 事件。 对于图片、文本等内容节点,通常由内容自动确定宽度。
节点世界透明度,最终参与渲染的有效透明度,只读属性
这是考虑了所有父节点透明度影响后的最终透明度值。 等于当前节点透明度与所有父节点透明度的乘积。 此值由渲染系统自动计算,无法直接设置。
世界变换矩阵,表示节点相对于舞台根节点的最终变换
此矩阵是节点及其所有父节点变换的复合结果,用于世界坐标转换。 矩阵会在任何父节点或当前节点变换时自动重新计算。 用于渲染和坐标空间转换,通常不需要手动设置。
Protected_$set设置单个属性的内部实现,处理特殊属性类型的转换和绑定
内部方法,负责将单个属性正确设置到节点上,包含事件监听器的自动绑定逻辑。 以"on"开头的函数属性会被转换为事件监听器,事件名为去掉"on"前缀后首字母小写的形式。 只有节点确实存在的属性才会被设置,确保类型安全。
属性名称,支持普通属性和事件属性(on开头)
属性值,可以是任意类型,函数类型的on属性会被转换为事件监听器
Protected_custom为当前节点添加视觉滤镜效果
滤镜会改变节点的渲染效果,如模糊、发光、颜色调整等。 多个滤镜会按照添加顺序依次应用,可以组合创建复杂的视觉效果。
要添加的滤镜实例,如 BlurFilter、GlowFilter 等
返回当前节点实例,支持链式调用
为当前节点添加行为逻辑脚本
脚本用于为节点添加动态行为和交互逻辑,如移动、动画、AI等。 添加后脚本会自动绑定到当前节点,并立即开始执行其生命周期方法。 多个脚本按照添加顺序执行,可以组合实现复杂的行为。
要添加的脚本实例,如 MovementScript、AnimationScript 等
返回当前节点实例,支持链式调用
释放文本节点占用的资源,包括销毁纹理和画布
彻底销毁当前节点的所有子节点,释放所有相关资源
与 removeChildren 不同,这是"硬删除"操作,被销毁的子节点无法再使用。 销毁过程是递归的,会同时销毁所有后代节点、脚本、滤镜和事件监听。 适用于确定不再需要子节点的场景,能有效防止内存泄漏。
返回当前节点实例,支持链式调用
彻底销毁当前节点的所有滤镜,释放相关资源
这是一个"硬删除"操作,会彻底销毁所有滤镜实例并释放显存资源。 销毁后的滤镜无法再使用,适用于确定不再需要滤镜效果的场景。
返回当前节点实例,支持链式调用
彻底销毁当前节点的所有脚本,停止所有行为逻辑
这是一个"硬删除"操作,会彻底销毁所有脚本实例并清理相关资源。 销毁后的脚本无法再使用,节点将失去所有脚本提供的行为能力。
返回当前节点实例,支持链式调用
派发事件,触发指定类型的所有监听器
立即触发当前节点上注册的指定类型的所有事件监听器,按照注册顺序依次调用。 可以传递任意数量和类型的参数给监听器函数,这些参数会原样传递给每个监听器。 事件触发是同步的,所有监听器会在此方法返回前全部执行完毕。 某些鼠标事件类型支持向父节点冒泡,具体行为取决于事件系统的设计。
要触发的事件类型名称,不区分大小写
传递给监听器的参数列表,可以是任意数量的任意类型参数
返回当前节点实例,支持链式调用和方法串联
根据筛选条件查找滤镜实例,用于动态修改滤镜参数
在当前节点的滤镜列表中查找符合条件的滤镜,便于后续修改其属性。 查找优先级为:id > label > Class。找到第一个匹配的滤镜后立即返回。
筛选条件对象
OptionalClass?: typeof Filter滤镜的类构造函数,如 BlurFilter
Optionalid?: string滤镜的唯一标识符
Optionallabel?: string滤镜的标签名
返回匹配的第一个滤镜实例,未找到则返回 undefined
根据筛选条件查找脚本实例,用于动态控制脚本行为
在当前节点的脚本列表中查找符合条件的脚本,便于后续调用其方法或修改属性。 查找优先级为:id > label > Class。找到第一个匹配的脚本后立即返回。
返回匹配的第一个脚本实例,未找到则返回 undefined
从JSON数据反序列化节点,完整恢复节点的状态和结构
此方法用于从序列化的JSON数据中恢复节点,会设置节点的所有属性、创建子节点树、添加脚本和滤镜。
包含节点完整信息的数据对象,需要符合INodeData接口规范
返回当前节点实例,支持链式调用和方法串联
获取当前节点在父节点中的索引位置
返回在父节点中的索引,如果没有父节点则返回 -1
获取文本节点的本地边界,会自动触发文本重绘和尺寸测量 确保返回的边界反映最新的文本内容和样式
获取世界旋转边界,考虑了旋转角度的精确边界
与 getWorldBounds 不同,此方法返回的是考虑了旋转角度的精确边界矩形, 适用于需要精确碰撞检测或旋转对象交互的场景。
Optionalroot: LikoNode相对参考节点,为空则默认相对于舞台
返回考虑旋转的边界对象
获取节点在世界坐标系中的最终旋转角度
计算当前节点相对于世界坐标系或指定根节点的实际旋转角度,会累积所有父节点的旋转效果。 当节点有多层嵌套且各层都有旋转时,此方法返回的是所有旋转角度的累加结果。 常用于计算物体的实际朝向、旋转动画的相对计算、方向性碰撞检测等场景。
Optionalroot: LikoNode相对参考节点,指定计算的参考坐标系,传入null或undefined表示相对于舞台根节点
累积后的旋转角度值,单位为弧度,正值表示顺时针旋转
获取节点在世界坐标系中的最终缩放值
计算当前节点相对于世界坐标系或指定根节点的实际缩放值,会累积所有父节点的缩放效果。 当节点有多层嵌套且各层都有缩放时,此方法返回的是所有缩放的累积结果。 常用于需要获取物体真实大小、碰撞检测边界计算、UI元素定位等场景。
Optionalroot: LikoNode相对参考节点,指定计算的参考坐标系,传入null或undefined表示相对于舞台根节点
Optionalout: IPoint用于存储结果的Point对象,可复用现有对象避免创建新实例,不传则自动创建
包含x和y轴世界缩放值的Point对象,值为所有父节点缩放的累积乘积
检查是否存在指定类型的事件监听器
查询当前节点是否注册了指定类型的事件监听器,返回布尔值表示存在性。 此方法常用于条件判断,避免不必要的事件派发,提升性能。 只检查当前节点,不会检查父节点或子节点的监听器。
要检查的事件类型名称,不区分大小写
如果存在至少一个该类型的监听器返回true,否则返回false
点击测试,判断世界坐标点是否命中当前节点的可交互区域
将世界坐标转换为节点本地坐标,然后检查该点是否落在节点的边界矩形内。 优先使用显式设置的width/height,如果没有则使用getLocalBounds计算的动态边界。 这是指针事件系统的核心方法,用于确定鼠标点击、触摸操作是否作用于该节点。 注意此方法只进行几何计算,不考虑节点的透明度、可见性或是否启用交互。
要检测的世界坐标点,通常来自鼠标位置或触摸位置
如果点在节点边界内返回true,否则返回false
标记节点为脏状态,通知渲染系统该节点需要在下一帧更新
这是引擎的核心优化机制,避免每次属性变化都立即重新计算。 不同类型的变化会触发不同的更新流程,系统会自动处理脏状态的传播。 通常不需要手动调用,属性设置时会自动触发。
脏标记类型,指示具体哪种属性发生了变化
移除指定的事件监听器,精确匹配后删除
根据事件类型、监听器函数和调用者三个参数精确匹配,移除之前通过on或once注册的监听器。 三个参数必须与注册时完全相同才能成功移除,这确保了事件监听器的精确管理。 如果找不到匹配的监听器,调用此方法不会产生任何效果,也不会报错。 移除指针事件监听器不会自动禁用节点的指针交互功能。
事件类型名称,必须与注册时完全一致,不区分大小写
要移除的回调函数引用,必须是注册时的同一个函数对象
Optionalcaller: any回调函数的调用者,必须与注册时的caller相同
返回当前节点实例,支持链式调用和方法串联
批量移除事件监听器,按调用者过滤或全部清除
如果指定了caller参数,会移除该调用者注册的所有事件监听器,不论事件类型。 如果不指定caller参数,会清除当前节点上的所有事件监听器。 这是一个便捷的清理方法,特别适用于组件销毁、对象重置、内存清理等场景。 不会影响子节点或父节点的事件监听器。
Optionalcaller: unknown指定要清除的调用者对象,如果为空则清除所有监听器
返回当前节点实例,支持链式调用和方法串联
注册事件监听器,为节点添加事件响应能力
当指定类型的事件在节点上触发时,会调用提供的回调函数进行处理。 对于指针类型事件(click、pointerdown、pointermove等),会自动启用节点和父节点链的指针交互功能。 支持多个监听器监听同一事件,按注册顺序依次调用。事件支持从子节点向父节点的冒泡传播。 相同的事件类型、监听器函数和调用者组合只能注册一次,重复注册会覆盖之前的注册。
事件类型名称,如"click"、"pointerdown"、"added"等,不区分大小写
事件回调函数,接收事件对象和相关参数,函数内的this指向caller参数
Optionalcaller: any回调函数的执行上下文对象,决定函数内this的指向,通常传入当前对象实例
返回当前节点实例,支持链式调用和方法串联
注册一次性事件监听器,触发一次后自动销毁
功能与on方法相同,但监听器在第一次触发后会自动从事件系统中移除。 适用于只需要响应一次的事件场景,如初始化完成、资源加载完毕、一次性动画结束等。 同样支持指针事件的自动启用和父节点链的配置。如果事件从未触发,监听器会一直保留。 相同的事件类型、监听器函数和调用者组合只能注册一次。
事件类型名称,如"load"、"complete"、"ready"等,不区分大小写
事件回调函数,触发一次后会自动移除,函数内的this指向caller参数
Optionalcaller: any回调函数的执行上下文对象,决定函数内this的指向
返回当前节点实例,支持链式调用和方法串联
移除当前节点的所有子节点,但不销毁它们
这是一个批量移除操作,类似于多次调用 removeChild。 所有子节点都会被"软删除",可以重新添加到其他位置使用。 适用于需要清空容器但保留子节点的场景。
返回当前节点实例,支持链式调用
从当前节点移除指定的滤镜效果,但不销毁滤镜实例
移除后该滤镜效果会立即从节点上消失,但滤镜实例仍然存在, 可以重新添加到其他节点或同一节点上继续使用。
Optionalfilter: T要移除的滤镜实例,如果不存在则忽略
返回当前节点实例,支持链式调用
将当前节点从其父节点中移除,相当于"取消挂载"
这是一个安全的移除操作,即使当前节点没有父节点也不会出错。 移除后节点会脱离节点树,但可以重新添加到其他位置。 相当于调用 parent.removeChild(this)。
返回当前节点实例,支持链式调用
修改子节点在子节点列表中的索引位置,影响渲染层级
索引越大的子节点在渲染时越靠上层。通过调整索引可以改变节点的层级关系, 实现置顶、置底等效果。索引必须在有效范围内,否则会抛出错误。
要修改索引的子节点,必须是当前节点的直接子节点
新的索引位置,从 0 开始,必须小于子节点总数
返回当前节点实例,支持链式调用
根据数据配置重新设置节点的所有滤镜,完全替换现有滤镜效果
先销毁当前节点上的所有滤镜实例,然后根据提供的滤镜数据重新创建和配置滤镜。 每个滤镜数据会通过注册系统查找对应的滤镜类进行实例化,然后设置滤镜属性并应用到节点。 滤镜会按照数组顺序依次应用,创建复合的视觉效果。如果某个滤镜类未注册,会跳过该滤镜。 常用于视觉效果配置、场景氛围切换、动态效果应用等场景。
Optionalfilters: IFilterData[]滤镜配置数据数组,每个元素包含滤镜类型、参数和元数据信息
返回当前节点实例,支持链式调用和方法串联
批量设置节点属性,支持智能属性映射和事件绑定
遍历属性对象并逐一设置到当前节点上,支持所有公开的节点属性如position、scale、alpha等。 特殊处理以"on"开头的属性(如onClick、onPointerDown),会自动注册为对应的事件监听器。 对于不存在的属性会安全忽略,不会抛出错误,保证数据兼容性。 常用于节点初始化、JSON数据恢复、配置应用等场景。
Optionalprops: Record<string, unknown>属性键值对对象,键为属性名,值为要设置的属性值,支持嵌套对象和函数
返回当前节点实例,支持链式调用和方法串联
根据数据配置重新设置节点的所有脚本,完全替换现有脚本
先销毁当前节点上的所有脚本实例,然后根据提供的脚本数据重新创建和配置脚本。 每个脚本数据会通过注册系统查找对应的脚本类进行实例化,然后设置脚本属性并绑定到节点。 如果某个脚本类未注册或数据格式错误,会跳过该脚本而不影响其他脚本的创建。 常用于场景加载、节点模板应用、脚本配置动态更新等场景。
Optionalscripts: IScriptData[]脚本配置数据数组,每个元素包含脚本类型、属性和元数据信息
返回当前节点实例,支持链式调用和方法串联
设置文本内容
要设置的文本内容
当前实例,支持链式调用
通知渲染系统滤镜参数已发生变化,需要重新渲染
当动态修改滤镜的属性(如模糊半径、颜色值等)后,需要调用此方法 告知渲染系统重新计算滤镜效果。这是一个性能优化机制,避免每次 参数变化都立即重新渲染。
参数已变化的滤镜实例
返回当前节点实例,支持链式调用
文本渲染节点,用于在场景中显示文本内容
支持多行文本、字体样式设置、颜色填充、描边效果、文本对齐等功能。
Example
@注意事项