Skip to content

节点清单 ​

引擎和官方插件提供的节点、资源和工具类。

节点用途关键成员
Node基类add remove queueFree callDeferred addToGroup createTween processMode tree
Node2D带变换position x y rotation scale visible zIndex alpha modulate selfModulate blendMode clipRect globalPosition toLocal toGlobal;inputPickable hitArea + 信号 pointerDown pointerMove pointerUp clicked
Scene场景根static assets
Sprite2D贴图texture centered(默认 true:以贴图的锚点或中心为原点)offset flipH flipV flash flashColor
AnimatedSprite2D帧动画(继承 Sprite2D)frames / animations fps loop autoplay processInPhysics play() pause() stop() frame speedScale isPlaying animation;信号 frameChanged animationFinished
Label文字text fontSize color fontWeight align verticalAlign stroke wrapWidth lineHeight
ColorRect纯色矩形(原点在左上角)size color rect
NineSliceSprite九宫格(界面边框,原点在左上角)texture margins size rect
Particles2D粒子发射器(粒子不是节点)texture amount lifetime lifetimeRandomness emitting oneShot rate direction spread speedMin speedMax gravity damping scaleStart scaleEnd alphaStart alphaEnd localCoords emit() restart() aliveCount;信号 finished
RigidBody2D动态刚体mass friction bounce gravityScale linearVelocity angularVelocity lockRotation ccd applyCentralImpulse applyForce sleeping;信号 bodyEntered bodyExited
StaticBody2D静态刚体(地面、墙)friction bounce
Area2D检测区域信号 bodyEntered bodyExited;getOverlappingBodies()
CollisionShape2D碰撞形状(必须是刚体 / 区域的直接子节点)shape:circle(r) rectangle(w, h) polygon(points);disabled
TileMapLayer一层图块地图tileSet width height collisionLayer setCell eraseCell getCell getCellTileData localToMap mapToLocal getUsedRect usedCellCount
CharacterBody2D平台游戏的角色(只和图块地图碰撞)shape velocity velocityX velocityY setVelocity moveAndSlide() isOnFloor isOnWall isOnCeiling slideCollisionCount getSlideCollision(i) collisionMask
Camera2D相机(画面跟随)enabled offset limitLeft limitTop limitRight limitBottom positionSmoothingEnabled positionSmoothingSpeed makeCurrent() isCurrent resetSmoothing() screenCenter
CanvasLayer(不是 Node2D)界面层(不跟随相机)layer visible
Timer计时器waitTime oneShot autostart processInPhysics start() stop() timeLeft;信号 timeout
AudioStreamPlayer播放声音stream volume loop bus autoplay play() stop();信号 finished

插件提供的节点 ​

节点用途关键成员
TouchScreenButton(@sapling2d/touch)屏幕按钮(继承 Sprite2D)action texturePressed isPressed hitArea;信号 pressed released
TouchJoystick(@sapling2d/touch)摇杆(继承 Node2D)mode(dynamic / fixed)actions radius deadzone region texture textureKnob vectorX vectorY vector isPressed;信号 pressed released
Control(@sapling2d/ui)界面控件基类 / 布局盒子(原点在左上角)size rect anchor anchorTo
Button(@sapling2d/ui)按钮(继承 Control)text label body background isPressed disabled disabledAlpha pressEffect clickSound;信号 pressed released clicked
ProgressBar(@sapling2d/ui)进度条(继承 Control)value minValue maxValue ratio fillMode fillColor fillPadding background fill;信号 valueChanged
SpineSprite(@sapling2d/spine)Spine 骨骼动画(继承 Node2D)skeleton play() queue() stop() animation isPlaying speedScale defaultMix mix() skin setAttachment() setupPose() refreshPose() flipH flipV physics bonePosition() boneRotation() rect state spine;信号 animationStarted animationFinished animationEvent
SpineBoneNode(@sapling2d/spine)跟随一根骨骼(SpineSprite 的直接子节点)bone

资源和工具类(不是节点) ​

类用途关键成员
TiledMapTiled 关卡tiledMap(path);tileLayers tileLayer(name) layerNames objects(layer?) objectLayers width height tileSize pixelWidth pixelHeight tileSets properties;建节点用 TileMapLayer.fromTiled(map, name?)
SpineSkeleton(@sapling2d/spine)Spine 骨架spineSkeleton(path, { atlas?, scale? });data pages rect animationNames skinNames boneNames slotNames eventNames
Curve2D曲线路径,按距离取点Curve2D.catmullRom(points, { closed?, bakeInterval? }) Curve2D.polyline(points);length sample(distance, out) angleAt(distance) closed
HitTester两组对象之间的圆 / 矩形命中判定forEachHit(as, bs, hit)(hit 返回 true 表示 a 用掉了)、HitTester.compact(list);对象需要 x y hitShape,可选 dead

碰撞层 ​

collisionLayer / collisionMask 共 32 层,用 setCollisionLayerValue(n, bool) 开关单独一层。规则同 Godot:任一方的 mask 包含对方的 layer,两者就碰撞。

dump() 显示的属性 ​

g.dump() / tree.dump() 每行是 名字 (类名) 属性=值,只列出不等于默认值的属性(标"总是显示"的除外)。值的格式:向量 position=(220, 200)、布尔 visible=false、数字 zIndex=3、含空格的字符串加引号 text="连击 ×2"、数组 groups=[coins]。

节点属性
所有节点groups、processMode
Node2D 及子类position(总是显示)、rotationDegrees、scale、visible、zIndex、alpha、modulate / selfModulate(#ff6666 形式)、blendMode、clipRect((x, y, w, h))
Sprite2Dtexture(路径;图集的帧是 sprites.png#enemy_red / explosion.png#3)、centered、offset、flipH、flipV、flash、flashColor
AnimatedSprite2D同 Sprite2D,加 animation(有多套时)、frame(总是显示)、playing
SpineSpriteskeleton(路径,总是显示)、animation、playing、skin、speedScale、flipH、flipV;SpineBoneNode 显示 bone
Labeltext(总是显示)、fontSize、align
ColorRectsize、color(总是显示)
Particles2Dtexture、emitting、particles(存活数,总是显示)
RigidBody2Dmass、friction、bounce、linearVelocity(运动时)、sleeping、collisionLayer、collisionMask
StaticBody2D / Area2Dfriction、bounce(静态刚体)、collisionLayer、collisionMask
CollisionShape2Dshape(如 circle(30))、disabled
TimerwaitTime、oneShot、timeLeft、stopped
AudioStreamPlayerstream、playing、loop、volume
Control / Button / ProgressBar(@sapling2d/ui)size(总是显示)、anchor(right:20,top:30 形式);按钮按着时 pressed、禁用时 disabled;进度条 value(总是显示)、非默认的 fillMode

自己的节点可以覆写 dumpProps() 加入关键状态,见 无头测试。

MIT 许可证