diff --git a/Easy2D/Msg/KeyMsg.cpp b/Easy2D/Msg/KeyMsg.cpp index f123ff20..347a519a 100644 --- a/Easy2D/Msg/KeyMsg.cpp +++ b/Easy2D/Msg/KeyMsg.cpp @@ -149,7 +149,7 @@ void KeyMsg::startListener(TString name) // 查找名称相同的监听器 for (auto l : s_vListeners) { - if (l->m_sName == name) + if (l->m_sName == name && l->m_pParentScene == App::getCurrentScene()) { l->start(); } @@ -161,7 +161,7 @@ void KeyMsg::stopListener(TString name) // 查找名称相同的监听器 for (auto l : s_vListeners) { - if (l->m_sName == name) + if (l->m_sName == name && l->m_pParentScene == App::getCurrentScene()) { l->stop(); } @@ -176,7 +176,7 @@ void KeyMsg::delListener(TString name) for (iter = s_vListeners.begin(); iter != s_vListeners.end();) { // 查找相同名称的监听器 - if ((*iter)->m_sName == name) + if ((*iter)->m_sName == name && (*iter)->m_pParentScene == App::getCurrentScene()) { // 删除该定时器 delete (*iter); diff --git a/Easy2D/Msg/MouseMsg.cpp b/Easy2D/Msg/MouseMsg.cpp index 5594b7be..e225439e 100644 --- a/Easy2D/Msg/MouseMsg.cpp +++ b/Easy2D/Msg/MouseMsg.cpp @@ -68,7 +68,7 @@ void MouseMsg::startListener(TString name) // 查找名称相同的监听器 for (auto l : s_vListeners) { - if (l->m_sName == name) + if (l->m_sName == name && l->m_pParentScene == App::getCurrentScene()) { l->start(); } @@ -80,7 +80,7 @@ void MouseMsg::stopListener(TString name) // 查找名称相同的监听器 for (auto l : s_vListeners) { - if (l->m_sName == name) + if (l->m_sName == name && l->m_pParentScene == App::getCurrentScene()) { l->stop(); } @@ -95,7 +95,7 @@ void MouseMsg::delListener(TString name) for (iter = s_vListeners.begin(); iter != s_vListeners.end();) { // 查找相同名称的监听器 - if ((*iter)->m_sName == name) + if ((*iter)->m_sName == name && (*iter)->m_pParentScene == App::getCurrentScene()) { // 删除该定时器 delete (*iter);