aboutsummaryrefslogtreecommitdiff
path: root/scene/2d/node_2d.cpp
diff options
context:
space:
mode:
authorJuan Linietsky2015-05-21 15:02:49 -0300
committerJuan Linietsky2015-05-21 15:02:49 -0300
commitbb5d46bb113bca3204db7678eb69900f159e8087 (patch)
treecd34e10d67a196d217559ab8d4973b8f5bc4ccde /scene/2d/node_2d.cpp
parent4b8745ad63409cf14b02735981ee35d2f794421c (diff)
parent6049479a99f66b620d59498a76ed9f2c3891f4c8 (diff)
downloadgodot-bb5d46bb113bca3204db7678eb69900f159e8087.tar.gz
godot-bb5d46bb113bca3204db7678eb69900f159e8087.tar.zst
godot-bb5d46bb113bca3204db7678eb69900f159e8087.zip
Merge branch 'master' of https://github.com/okamstudio/godot
Diffstat (limited to 'scene/2d/node_2d.cpp')
-rw-r--r--scene/2d/node_2d.cpp14
1 files changed, 14 insertions, 0 deletions
diff --git a/scene/2d/node_2d.cpp b/scene/2d/node_2d.cpp
index fc5be255c..99c33c787 100644
--- a/scene/2d/node_2d.cpp
+++ b/scene/2d/node_2d.cpp
@@ -346,6 +346,17 @@ Matrix32 Node2D::get_relative_transform(const Node *p_parent) const {
return parent_2d->get_relative_transform(p_parent) * get_transform();
}
+
+void Node2D::look_at(const Vector2& p_pos) {
+
+ rotate(get_angle_to(p_pos));
+}
+
+float Node2D::get_angle_to(const Vector2& p_pos) const {
+
+ return (get_global_transform().affine_inverse().xform(p_pos)).atan2();
+}
+
void Node2D::_bind_methods() {
@@ -374,6 +385,9 @@ void Node2D::_bind_methods() {
ObjectTypeDB::bind_method(_MD("set_transform","xform"),&Node2D::set_transform);
ObjectTypeDB::bind_method(_MD("set_global_transform","xform"),&Node2D::set_global_transform);
+ ObjectTypeDB::bind_method(_MD("look_at","point"),&Node2D::look_at);
+ ObjectTypeDB::bind_method(_MD("get_angle_to","point"),&Node2D::get_angle_to);
+
ObjectTypeDB::bind_method(_MD("set_z","z"),&Node2D::set_z);
ObjectTypeDB::bind_method(_MD("get_z"),&Node2D::get_z);