[email protected] hace 8 años
padre
commit
17ccfdf33b
Se han modificado 3 ficheros con 10 adiciones y 4 borrados
  1. 1 1
      src/flow/Scene.cpp
  2. 3 0
      src/flow/Scene.h
  3. 6 3
      src/flow/flow.cpp

+ 1 - 1
src/flow/Scene.cpp

@@ -46,7 +46,7 @@ namespace oxygine
         extern bool _wasTouchBlocked;
         extern spTransition _defaultTransition;
 
-        Scene::Scene(): _done(false), _remove(false), _dialog(false), _instack(false), _instackWide(false), _visible(false), _visibleWide(false), _allowDialogsOnTop(true)
+        Scene::Scene(): _done(false), _remove(false), _dialog(false), _instack(false), _instackWide(false), _visible(false), _visibleWide(false), _allowDialogsOnTop(true), _passBlockedTouch(true)
         {
             setName("Scene");
             _holder = new Actor;

+ 3 - 0
src/flow/Scene.h

@@ -120,6 +120,8 @@ namespace oxygine
             bool            isInStackWide() const { return _instackWide; }
             bool            isVisibleWide() const { return _visibleWide; }
 
+            void setPassBlockedTouch(bool v) { _passBlockedTouch = v; }
+
         protected:
 
             friend class Flow;
@@ -131,6 +133,7 @@ namespace oxygine
             /**dialog mode*/
             bool _dialog;
             bool _allowDialogsOnTop;
+            bool _passBlockedTouch;
 
 
             spTransition runTransition(Flow*, spScene current, bool back);

+ 6 - 3
src/flow/flow.cpp

@@ -251,9 +251,12 @@ namespace oxygine
             {
                 if (scenes2show.empty())
                 {
-                    LOGD("send  blocked touch");
-                    TouchEvent click(TouchEvent::CLICK, true, _blockedTouchPosition);
-                    getStage()->handleEvent(&click);
+                    if (current->_passBlockedTouch)
+                    {
+                        LOGD("send  blocked touch");
+                        TouchEvent click(TouchEvent::CLICK, true, _blockedTouchPosition);
+                        getStage()->handleEvent(&click);
+                    }                    
                 }
                 _wasTouchBlocked = false;
             }