Node2D

Inherits: CanvasItem < Node < Object

Inherited By: AnimatedSprite, AudioStreamPlayer2D, BackBufferCopy, Bone2D, CPUParticles2D, Camera2D, CanvasModulate, CollisionObject2D, CollisionPolygon2D, CollisionShape2D, Joint2D, Light2D, LightOccluder2D, Line2D, Listener2D, MeshInstance2D, MultiMeshInstance2D, Navigation2D, NavigationPolygonInstance, ParallaxLayer, Particles2D, Path2D, PathFollow2D, Polygon2D, Position2D, RayCast2D, RemoteTransform2D, Skeleton2D, Sprite, TileMap, TouchScreenButton, VisibilityNotifier2D, YSort

2D 游戏对象,被所有 2D 相关的节点继承。具有位置、旋转、缩放和 Z 索引。

描述

2D 游戏对象,具有变换(位置、旋转、缩放)。所有的 2D 节点,包括物理对象和精灵,都继承自 Node2D。使用 Node2D 作为父节点来移动、缩放和旋转 2D 项目中的子节点。还可以控制节点的渲染顺序。

教程

属性

Vector2

global_position

float

global_rotation

float

global_rotation_degrees

Vector2

global_scale

Transform2D

global_transform

Vector2

position

Vector2( 0, 0 )

float

rotation

0.0

float

rotation_degrees

0.0

Vector2

scale

Vector2( 1, 1 )

Transform2D

transform

bool

z_as_relative

true

int

z_index

0

方法

void

apply_scale ( Vector2 ratio )

float

get_angle_to ( Vector2 point ) const

Transform2D

get_relative_transform_to_parent ( Node parent ) const

void

global_translate ( Vector2 offset )

void

look_at ( Vector2 point )

void

move_local_x ( float delta, bool scaled=false )

void

move_local_y ( float delta, bool scaled=false )

void

rotate ( float radians )

Vector2

to_global ( Vector2 local_point ) const

Vector2

to_local ( Vector2 global_point ) const

void

translate ( Vector2 offset )

属性说明

Setter

set_global_position(value)

Getter

get_global_position()

全局位置。


Setter

set_global_rotation(value)

Getter

get_global_rotation()

全局旋转弧度。


  • float global_rotation_degrees

Setter

set_global_rotation_degrees(value)

Getter

get_global_rotation_degrees()

全局旋转角度。


Setter

set_global_scale(value)

Getter

get_global_scale()

全局缩放。


Setter

set_global_transform(value)

Getter

get_global_transform()

全局 Transform2D


Default

Vector2( 0, 0 )

Setter

set_position(value)

Getter

get_position()

位置,相对于父节点。


Default

0.0

Setter

set_rotation(value)

Getter

get_rotation()

旋转弧度,相对于父节点。


Default

0.0

Setter

set_rotation_degrees(value)

Getter

get_rotation_degrees()

旋转角度,相对于父节点。


Default

Vector2( 1, 1 )

Setter

set_scale(value)

Getter

get_scale()

节点的缩放。未缩放时为:(1, 1)


Setter

set_transform(value)

Getter

get_transform()

局部 Transform2D


Default

true

Setter

set_z_as_relative(value)

Getter

is_z_relative()

如果true,节点的Z索引是相对于它的父节点的Z索引而言的。如果这个节点的Z索引是2,它的父节点的有效Z索引是3,那么这个节点的有效Z索引将是2+3=5。


Default

0

Setter

set_z_index(value)

Getter

get_z_index()

Z 索引。控制节点呈现的顺序。具有较高 Z 索引的节点将显示在其他节点之前。必须介于 VisualServer.CANVAS_ITEM_Z_MINVisualServer.CANVAS_ITEM_Z_MAX 之间(含)。

方法说明

  • void apply_scale ( Vector2 ratio )

将当前缩放乘以 ratio 向量。


以弧度为单位返回节点和 point 之间的角度。

返回的角度的示意图。


返回相对于此节点的父节点的 Transform2D


  • void global_translate ( Vector2 offset )

offset 向量添加到节点的全局位置。


旋转节点,使其指向 point,请传入全局坐标。


  • void move_local_x ( float delta, bool scaled=false )

基于Node._processdelta,在节点的X轴上应用一个局部平移。如果scaledfalse,则对运动进行标准化。


  • void move_local_y ( float delta, bool scaled=false )

基于Node._processdelta,在节点的Y轴上应用一个局部平移。如果scaledfalse,则对运动进行标准化。


  • void rotate ( float radians )

从节点的当前旋转开始,以弧度为单位,对节点进行旋转。


将提供的本地位置转换为全局坐标空间的位置。例如,对子节点的位置应用这个方法将正确地把它们的位置转换到全局坐标空间,但对节点自己的位置应用这个方法将得到一个不正确的结果,因为它将把节点自己的变换纳入它的全局位置。


将提供的全局位置转换为本地坐标空间的位置。例如,它适合于确定子节点的位置,但不适合于确定其自身相对于父节点的位置。


通过给定的 offset 将节点在本地坐标中进行变换。