修复了按钮的中心点问题
This commit is contained in:
parent
5e0ea2be92
commit
a9ddbf7384
|
|
@ -71,6 +71,7 @@ void e2d::EButton::setNormal(ENode * normal)
|
||||||
if (normal)
|
if (normal)
|
||||||
{
|
{
|
||||||
this->addChild(normal);
|
this->addChild(normal);
|
||||||
|
normal->setPivot(m_fPivotX, m_fPivotY);
|
||||||
}
|
}
|
||||||
m_pNormal = normal;
|
m_pNormal = normal;
|
||||||
|
|
||||||
|
|
@ -91,6 +92,7 @@ void e2d::EButton::setMouseOver(ENode * mouseover)
|
||||||
if (mouseover)
|
if (mouseover)
|
||||||
{
|
{
|
||||||
this->addChild(mouseover);
|
this->addChild(mouseover);
|
||||||
|
mouseover->setPivot(m_fPivotX, m_fPivotY);
|
||||||
}
|
}
|
||||||
m_pMouseover = mouseover;
|
m_pMouseover = mouseover;
|
||||||
_updateVisiable();
|
_updateVisiable();
|
||||||
|
|
@ -110,6 +112,7 @@ void e2d::EButton::setSelected(ENode * selected)
|
||||||
if (selected)
|
if (selected)
|
||||||
{
|
{
|
||||||
this->addChild(selected);
|
this->addChild(selected);
|
||||||
|
selected->setPivot(m_fPivotX, m_fPivotY);
|
||||||
}
|
}
|
||||||
m_pSelected = selected;
|
m_pSelected = selected;
|
||||||
_updateVisiable();
|
_updateVisiable();
|
||||||
|
|
@ -129,6 +132,7 @@ void e2d::EButton::setDisabled(ENode * disabled)
|
||||||
if (disabled)
|
if (disabled)
|
||||||
{
|
{
|
||||||
this->addChild(disabled);
|
this->addChild(disabled);
|
||||||
|
disabled->setPivot(m_fPivotX, m_fPivotY);
|
||||||
}
|
}
|
||||||
m_pDisabled = disabled;
|
m_pDisabled = disabled;
|
||||||
_updateVisiable();
|
_updateVisiable();
|
||||||
|
|
@ -152,6 +156,33 @@ void e2d::EButton::setCallback(const BUTTON_CLICK_CALLBACK & callback)
|
||||||
m_Callback = callback;
|
m_Callback = callback;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void e2d::EButton::setPivotX(float pivotX)
|
||||||
|
{
|
||||||
|
ENode::setPivotX(pivotX);
|
||||||
|
if (m_pNormal) m_pNormal->setPivotX(pivotX);
|
||||||
|
if (m_pMouseover) m_pMouseover->setPivotX(pivotX);
|
||||||
|
if (m_pSelected) m_pSelected->setPivotX(pivotX);
|
||||||
|
if (m_pDisabled) m_pDisabled->setPivotX(pivotX);
|
||||||
|
}
|
||||||
|
|
||||||
|
void e2d::EButton::setPivotY(float pivotY)
|
||||||
|
{
|
||||||
|
ENode::setPivotY(pivotY);
|
||||||
|
if (m_pNormal) m_pNormal->setPivotY(pivotY);
|
||||||
|
if (m_pMouseover) m_pMouseover->setPivotY(pivotY);
|
||||||
|
if (m_pSelected) m_pSelected->setPivotY(pivotY);
|
||||||
|
if (m_pDisabled) m_pDisabled->setPivotY(pivotY);
|
||||||
|
}
|
||||||
|
|
||||||
|
void e2d::EButton::setPivot(float pivotX, float pivotY)
|
||||||
|
{
|
||||||
|
ENode::setPivot(pivotX, pivotY);
|
||||||
|
if (m_pNormal) m_pNormal->setPivot(pivotX, pivotY);
|
||||||
|
if (m_pMouseover) m_pMouseover->setPivot(pivotX, pivotY);
|
||||||
|
if (m_pSelected) m_pSelected->setPivot(pivotX, pivotY);
|
||||||
|
if (m_pDisabled) m_pDisabled->setPivot(pivotX, pivotY);
|
||||||
|
}
|
||||||
|
|
||||||
void e2d::EButton::_setStatus(STATUS status)
|
void e2d::EButton::_setStatus(STATUS status)
|
||||||
{
|
{
|
||||||
if (m_eStatus != status)
|
if (m_eStatus != status)
|
||||||
|
|
|
||||||
|
|
@ -647,6 +647,25 @@ public:
|
||||||
const BUTTON_CLICK_CALLBACK & callback
|
const BUTTON_CLICK_CALLBACK & callback
|
||||||
);
|
);
|
||||||
|
|
||||||
|
// 设置中心点的横向位置
|
||||||
|
// 默认为 0, 范围 [0, 1]
|
||||||
|
virtual void setPivotX(
|
||||||
|
float pivotX
|
||||||
|
) override;
|
||||||
|
|
||||||
|
// 设置中心点的纵向位置
|
||||||
|
// 默认为 0, 范围 [0, 1]
|
||||||
|
virtual void setPivotY(
|
||||||
|
float pivotY
|
||||||
|
) override;
|
||||||
|
|
||||||
|
// 设置中心点位置
|
||||||
|
// 默认为 (0, 0), 范围 [0, 1]
|
||||||
|
virtual void setPivot(
|
||||||
|
float pivotX,
|
||||||
|
float pivotY
|
||||||
|
) override;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
enum STATUS { NORMAL, MOUSEOVER, SELECTED };
|
enum STATUS { NORMAL, MOUSEOVER, SELECTED };
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue