Add Actor::MoveTo & Actor::MoveBy

This commit is contained in:
Nomango 2020-07-15 16:26:23 +08:00
parent c3361187da
commit e887f1655b
1 changed files with 26 additions and 8 deletions

View File

@ -263,12 +263,20 @@ public:
void SetPositionY(float y); void SetPositionY(float y);
/// \~chinese /// \~chinese
/// @brief 移动坐标 /// @brief 移动坐标
void Move(const Vec2& v); void MoveTo(const Point& p);
/// \~chinese /// \~chinese
/// @brief 移动坐标 /// @brief 移动至坐标
void Move(float vx, float vy); void MoveTo(float x, float y);
/// \~chinese
/// @brief 移动相对坐标
void MoveBy(const Vec2& trans);
/// \~chinese
/// @brief 移动相对坐标
void MoveBy(float trans_x, float trans_y);
/// \~chinese /// \~chinese
/// @brief 设置缩放比例,默认为 (1.0, 1.0) /// @brief 设置缩放比例,默认为 (1.0, 1.0)
@ -725,14 +733,24 @@ inline void Actor::SetPositionY(float y)
this->SetPosition(Point(transform_.position.x, y)); this->SetPosition(Point(transform_.position.x, y));
} }
inline void Actor::Move(const Vec2& v) inline void Actor::MoveTo(const Point& p)
{ {
this->SetPosition(transform_.position.x + v.x, transform_.position.y + v.y); this->SetPosition(p);
} }
inline void Actor::Move(float vx, float vy) inline void Actor::MoveTo(float x, float y)
{ {
this->Move(Vec2(vx, vy)); this->SetPosition(Point(x, y));
}
inline void Actor::MoveBy(const Vec2& trans)
{
this->SetPosition(transform_.position.x + trans.x, transform_.position.y + trans.y);
}
inline void Actor::MoveBy(float trans_x, float trans_y)
{
this->MoveBy(Vec2(trans_x, trans_y));
} }
inline void Actor::SetScale(float scalex, float scaley) inline void Actor::SetScale(float scalex, float scaley)