Sfoglia il codice sorgente

Merge pull request #16756 from willnationsdev/shifted-rect-sprite

Simplify detection of Sprite clicks
Rémi Verschelde 7 anni fa
parent
commit
222516a815
2 ha cambiato i file con 6 aggiunte e 2 eliminazioni
  1. 3 1
      scene/2d/sprite.cpp
  2. 3 1
      scene/2d/sprite.h

+ 3 - 1
scene/2d/sprite.cpp

@@ -297,7 +297,7 @@ bool Sprite::_edit_is_selected_on_click(const Point2 &p_point, double p_toleranc
 	return c.a > 0.01;
 }
 
-Rect2 Sprite::_edit_get_rect() const {
+Rect2 Sprite::get_rect() const {
 
 	if (texture.is_null())
 		return Rect2(0, 0, 1, 1);
@@ -374,6 +374,8 @@ void Sprite::_bind_methods() {
 	ClassDB::bind_method(D_METHOD("set_hframes", "hframes"), &Sprite::set_hframes);
 	ClassDB::bind_method(D_METHOD("get_hframes"), &Sprite::get_hframes);
 
+	ClassDB::bind_method(D_METHOD("get_rect"), &Sprite::get_rect);
+
 	ADD_SIGNAL(MethodInfo("frame_changed"));
 	ADD_SIGNAL(MethodInfo("texture_changed"));
 

+ 3 - 1
scene/2d/sprite.h

@@ -72,7 +72,7 @@ public:
 	virtual Point2 _edit_get_pivot() const;
 	virtual bool _edit_use_pivot() const;
 	virtual bool _edit_is_selected_on_click(const Point2 &p_point, double p_tolerance) const;
-	virtual Rect2 _edit_get_rect() const;
+	virtual Rect2 _edit_get_rect() const { return get_rect(); }
 
 	void set_texture(const Ref<Texture> &p_texture);
 	Ref<Texture> get_texture() const;
@@ -110,6 +110,8 @@ public:
 	void set_hframes(int p_amount);
 	int get_hframes() const;
 
+	Rect2 get_rect() const;
+
 	Sprite();
 };