fixed bugs

This commit is contained in:
Nomango 2018-03-08 15:03:12 +08:00
parent cddfd5b5cd
commit a1ba470e94
8 changed files with 51 additions and 49 deletions

View File

@ -1,6 +1,6 @@
#include "..\eactions.h" #include "..\eactions.h"
e2d::ActionCallback::ActionCallback(const VoidFunction& callback) : e2d::ActionCallback::ActionCallback(VoidFunction callback) :
m_Callback(callback) m_Callback(callback)
{ {
} }

View File

@ -152,15 +152,17 @@ void e2d::SceneManager::__render()
bool e2d::SceneManager::__init() bool e2d::SceneManager::__init()
{ {
if (!s_pNextScene) // 若游戏初始化时场景不为空,进入该场景
if (s_pNextScene)
{ {
s_pNextScene = new Scene();
s_pNextScene->retain();
}
s_pCurrentScene = s_pNextScene; s_pCurrentScene = s_pNextScene;
s_pCurrentScene->onEnter(); s_pCurrentScene->onEnter();
s_pNextScene = nullptr; s_pNextScene = nullptr;
}
// 更新场景内容
SceneManager::__update();
return true; return true;
} }

View File

@ -5,7 +5,7 @@
e2d::Button::Button() e2d::Button::Button()
: m_Callback((const ButtonCallback &)nullptr) : m_Callback(nullptr)
, m_eBtnState(Button::NORMAL) , m_eBtnState(Button::NORMAL)
, m_bEnable(true) , m_bEnable(true)
, m_bIsSelected(false) , m_bIsSelected(false)
@ -16,8 +16,8 @@ e2d::Button::Button()
{ {
} }
e2d::Button::Button(Node * normal, const ButtonCallback & callback) e2d::Button::Button(Node * normal, ButtonCallback callback)
: m_Callback((const ButtonCallback &)nullptr) : m_Callback(nullptr)
, m_eBtnState(Button::NORMAL) , m_eBtnState(Button::NORMAL)
, m_bEnable(true) , m_bEnable(true)
, m_bIsSelected(false) , m_bIsSelected(false)
@ -30,8 +30,8 @@ e2d::Button::Button(Node * normal, const ButtonCallback & callback)
this->setCallback(callback); this->setCallback(callback);
} }
e2d::Button::Button(Node * normal, Node * selected, const ButtonCallback & callback) e2d::Button::Button(Node * normal, Node * selected, ButtonCallback callback)
: m_Callback((const ButtonCallback &)nullptr) : m_Callback(nullptr)
, m_eBtnState(Button::NORMAL) , m_eBtnState(Button::NORMAL)
, m_bEnable(true) , m_bEnable(true)
, m_bIsSelected(false) , m_bIsSelected(false)
@ -45,8 +45,8 @@ e2d::Button::Button(Node * normal, Node * selected, const ButtonCallback & callb
this->setCallback(callback); this->setCallback(callback);
} }
e2d::Button::Button(Node * normal, Node * mouseover, Node * selected, const ButtonCallback & callback) e2d::Button::Button(Node * normal, Node * mouseover, Node * selected, ButtonCallback callback)
: m_Callback((const ButtonCallback &)nullptr) : m_Callback(nullptr)
, m_eBtnState(Button::NORMAL) , m_eBtnState(Button::NORMAL)
, m_bEnable(true) , m_bEnable(true)
, m_bIsSelected(false) , m_bIsSelected(false)
@ -61,8 +61,8 @@ e2d::Button::Button(Node * normal, Node * mouseover, Node * selected, const Butt
this->setCallback(callback); this->setCallback(callback);
} }
e2d::Button::Button(Node * normal, Node * mouseover, Node * selected, Node * disabled, const ButtonCallback & callback) e2d::Button::Button(Node * normal, Node * mouseover, Node * selected, Node * disabled, ButtonCallback callback)
: m_Callback((const ButtonCallback &)nullptr) : m_Callback(nullptr)
, m_eBtnState(Button::NORMAL) , m_eBtnState(Button::NORMAL)
, m_bEnable(true) , m_bEnable(true)
, m_bIsSelected(false) , m_bIsSelected(false)
@ -170,7 +170,7 @@ void e2d::Button::setEnable(bool bEnable)
} }
} }
void e2d::Button::setCallback(const ButtonCallback & callback) void e2d::Button::setCallback(ButtonCallback callback)
{ {
WARN_IF(m_pNormal == nullptr, "Button cannot work without anything to show. Please set its normal displayed."); WARN_IF(m_pNormal == nullptr, "Button cannot work without anything to show. Please set its normal displayed.");

View File

@ -14,7 +14,7 @@ e2d::ButtonToggle::ButtonToggle()
{ {
} }
e2d::ButtonToggle::ButtonToggle(Node * toggleOnNormal, Node * toggleOffNormal, const ButtonCallback & callback) e2d::ButtonToggle::ButtonToggle(Node * toggleOnNormal, Node * toggleOffNormal, ButtonCallback callback)
: Button() : Button()
, m_bState(true) , m_bState(true)
, m_pNormalOn(nullptr) , m_pNormalOn(nullptr)
@ -31,7 +31,7 @@ e2d::ButtonToggle::ButtonToggle(Node * toggleOnNormal, Node * toggleOffNormal, c
this->setCallback(callback); this->setCallback(callback);
} }
e2d::ButtonToggle::ButtonToggle(Node * toggleOnNormal, Node * toggleOffNormal, Node * toggleOnSelected, Node * toggleOffSelected, const ButtonCallback & callback) e2d::ButtonToggle::ButtonToggle(Node * toggleOnNormal, Node * toggleOffNormal, Node * toggleOnSelected, Node * toggleOffSelected, ButtonCallback callback)
: Button() : Button()
, m_bState(true) , m_bState(true)
, m_pNormalOn(nullptr) , m_pNormalOn(nullptr)
@ -50,7 +50,7 @@ e2d::ButtonToggle::ButtonToggle(Node * toggleOnNormal, Node * toggleOffNormal, N
this->setCallback(callback); this->setCallback(callback);
} }
e2d::ButtonToggle::ButtonToggle(Node * toggleOnNormal, Node * toggleOffNormal, Node * toggleOnMouseOver, Node * toggleOffMouseOver, Node * toggleOnSelected, Node * toggleOffSelected, const ButtonCallback & callback) e2d::ButtonToggle::ButtonToggle(Node * toggleOnNormal, Node * toggleOffNormal, Node * toggleOnMouseOver, Node * toggleOffMouseOver, Node * toggleOnSelected, Node * toggleOffSelected, ButtonCallback callback)
: Button() : Button()
, m_bState(true) , m_bState(true)
, m_pNormalOn(nullptr) , m_pNormalOn(nullptr)
@ -71,7 +71,7 @@ e2d::ButtonToggle::ButtonToggle(Node * toggleOnNormal, Node * toggleOffNormal, N
this->setCallback(callback); this->setCallback(callback);
} }
e2d::ButtonToggle::ButtonToggle(Node * toggleOnNormal, Node * toggleOffNormal, Node * toggleOnMouseOver, Node * toggleOffMouseOver, Node * toggleOnSelected, Node * toggleOffSelected, Node * toggleOnDisabled, Node * toggleOffDisabled, const ButtonCallback & callback) e2d::ButtonToggle::ButtonToggle(Node * toggleOnNormal, Node * toggleOffNormal, Node * toggleOnMouseOver, Node * toggleOffMouseOver, Node * toggleOnSelected, Node * toggleOffSelected, Node * toggleOnDisabled, Node * toggleOffDisabled, ButtonCallback callback)
: Button() : Button()
, m_bState(true) , m_bState(true)
, m_pNormalOn(nullptr) , m_pNormalOn(nullptr)

View File

@ -11,12 +11,12 @@ e2d::Timer::Timer()
, m_nUpdateTimes(-1) , m_nUpdateTimes(-1)
, m_bAtOnce(false) , m_bAtOnce(false)
, m_bAutoRelease(false) , m_bAutoRelease(false)
, m_bClear(false) , m_bClear(true)
{ {
TimerManager::__add(this); TimerManager::__add(this);
} }
e2d::Timer::Timer(const TimerCallback & callback, double interval /* = 0 */, int updateTimes /* = -1 */, bool atOnce /* = false */, bool autoRelease /* = false */) e2d::Timer::Timer(TimerCallback callback, double interval /* = 0 */, int updateTimes /* = -1 */, bool atOnce /* = false */, bool autoRelease /* = false */)
: m_bRunning(false) : m_bRunning(false)
, m_nRunTimes(0) , m_nRunTimes(0)
, m_Callback(nullptr) , m_Callback(nullptr)
@ -25,7 +25,7 @@ e2d::Timer::Timer(const TimerCallback & callback, double interval /* = 0 */, int
, m_nUpdateTimes(-1) , m_nUpdateTimes(-1)
, m_bAtOnce(false) , m_bAtOnce(false)
, m_bAutoRelease(false) , m_bAutoRelease(false)
, m_bClear(false) , m_bClear(true)
{ {
this->setCallback(callback); this->setCallback(callback);
this->setUpdateTimes(updateTimes); this->setUpdateTimes(updateTimes);
@ -35,7 +35,7 @@ e2d::Timer::Timer(const TimerCallback & callback, double interval /* = 0 */, int
TimerManager::__add(this); TimerManager::__add(this);
} }
e2d::Timer::Timer(const String & name, const TimerCallback & callback, double interval /* = 0 */, int updateTimes /* = -1 */, bool atOnce /* = false */, bool autoRelease /* = false */) e2d::Timer::Timer(const String & name, TimerCallback callback, double interval /* = 0 */, int updateTimes /* = -1 */, bool atOnce /* = false */, bool autoRelease /* = false */)
: m_bRunning(false) : m_bRunning(false)
, m_nRunTimes(0) , m_nRunTimes(0)
, m_Callback(nullptr) , m_Callback(nullptr)
@ -44,7 +44,7 @@ e2d::Timer::Timer(const String & name, const TimerCallback & callback, double in
, m_nUpdateTimes(-1) , m_nUpdateTimes(-1)
, m_bAtOnce(false) , m_bAtOnce(false)
, m_bAutoRelease(false) , m_bAutoRelease(false)
, m_bClear(false) , m_bClear(true)
{ {
this->setName(name); this->setName(name);
this->setCallback(callback); this->setCallback(callback);
@ -92,7 +92,7 @@ void e2d::Timer::setInterval(double interval)
m_fInterval = max(interval, 0); m_fInterval = max(interval, 0);
} }
void e2d::Timer::setCallback(const TimerCallback & callback) void e2d::Timer::setCallback(TimerCallback callback)
{ {
m_Callback = callback; m_Callback = callback;
} }

View File

@ -553,7 +553,7 @@ class ActionCallback :
public: public:
// 创建执行回调函数的动作 // 创建执行回调函数的动作
ActionCallback( ActionCallback(
const VoidFunction & callback /* 回调函数 */ VoidFunction callback /* 回调函数 */
); );
// 获取该动作的拷贝对象 // 获取该动作的拷贝对象

View File

@ -584,14 +584,14 @@ public:
// 创建按钮 // 创建按钮
Button( Button(
Node * normal, /* 普通状态 */ Node * normal, /* 普通状态 */
const ButtonCallback & callback = nullptr ButtonCallback callback = nullptr
); );
// 创建按钮 // 创建按钮
Button( Button(
Node * normal, /* 普通状态 */ Node * normal, /* 普通状态 */
Node * selected, /* 鼠标按下状态 */ Node * selected, /* 鼠标按下状态 */
const ButtonCallback & callback = nullptr ButtonCallback callback = nullptr
); );
// 创建按钮 // 创建按钮
@ -599,7 +599,7 @@ public:
Node * normal, /* 普通状态 */ Node * normal, /* 普通状态 */
Node * mouseover, /* 鼠标移入状态 */ Node * mouseover, /* 鼠标移入状态 */
Node * selected, /* 鼠标按下状态 */ Node * selected, /* 鼠标按下状态 */
const ButtonCallback & callback = nullptr ButtonCallback callback = nullptr
); );
// 创建按钮 // 创建按钮
@ -608,7 +608,7 @@ public:
Node * mouseover, /* 鼠标移入状态 */ Node * mouseover, /* 鼠标移入状态 */
Node * selected, /* 鼠标移入状态 */ Node * selected, /* 鼠标移入状态 */
Node * disabled, /* 按钮禁用状态 */ Node * disabled, /* 按钮禁用状态 */
const ButtonCallback & callback = nullptr ButtonCallback callback = nullptr
); );
// 获取按钮状态是启用还是禁用 // 获取按钮状态是启用还是禁用
@ -641,7 +641,7 @@ public:
// 设置回调函数 // 设置回调函数
void setCallback( void setCallback(
const ButtonCallback & callback ButtonCallback callback
); );
// 更新按钮状态 // 更新按钮状态
@ -682,7 +682,7 @@ public:
ButtonToggle( ButtonToggle(
Node * onNormal, Node * onNormal,
Node * offNormal, Node * offNormal,
const ButtonCallback & callback = nullptr ButtonCallback callback = nullptr
); );
// 创建开关按钮 // 创建开关按钮
@ -691,7 +691,7 @@ public:
Node * offNormal, Node * offNormal,
Node * onSelected, Node * onSelected,
Node * offSelected, Node * offSelected,
const ButtonCallback & callback = nullptr ButtonCallback callback = nullptr
); );
// 创建开关按钮 // 创建开关按钮
@ -702,7 +702,7 @@ public:
Node * offMouseOver, Node * offMouseOver,
Node * onSelected, Node * onSelected,
Node * offSelected, Node * offSelected,
const ButtonCallback & callback = nullptr ButtonCallback callback = nullptr
); );
// 创建开关按钮 // 创建开关按钮
@ -715,7 +715,7 @@ public:
Node * offSelected, Node * offSelected,
Node * onDisabled, Node * onDisabled,
Node * offDisabled, Node * offDisabled,
const ButtonCallback & callback = nullptr ButtonCallback callback = nullptr
); );
// 获取开关状态(打开或关闭) // 获取开关状态(打开或关闭)

View File

@ -50,7 +50,7 @@ public:
Timer(); Timer();
Timer( Timer(
const TimerCallback &callback, /* 定时器回调函数 */ TimerCallback callback, /* 定时器回调函数 */
double interval = 0, /* 时间间隔(秒) */ double interval = 0, /* 时间间隔(秒) */
int times = -1, /* 执行次数(设 -1 为永久执行) */ int times = -1, /* 执行次数(设 -1 为永久执行) */
bool atOnce = false, /* 是否立即执行 */ bool atOnce = false, /* 是否立即执行 */
@ -59,7 +59,7 @@ public:
Timer( Timer(
const String &name, /* 定时器名称 */ const String &name, /* 定时器名称 */
const TimerCallback &callback = nullptr, /* 定时器回调函数 */ TimerCallback callback = nullptr, /* 定时器回调函数 */
double interval = 0, /* 时间间隔(秒) */ double interval = 0, /* 时间间隔(秒) */
int times = -1, /* 执行次数(设 -1 为永久执行) */ int times = -1, /* 执行次数(设 -1 为永久执行) */
bool atOnce = false, /* 是否立即执行 */ bool atOnce = false, /* 是否立即执行 */
@ -99,7 +99,7 @@ public:
// 设置定时器回调函数 // 设置定时器回调函数
void setCallback( void setCallback(
const TimerCallback & callback TimerCallback callback
); );
// 设置定时器执行次数 // 设置定时器执行次数