Skip to content

Commit

Permalink
fix: reverse iterator on events + doesn't use additionalTransform
Browse files Browse the repository at this point in the history
use reverse Camera iterator when traversing events (of course).
but somehow `setAdditionalTransform()` breaks
`setNodeToParentTransform()`. And since `setAdditionalTransform` is not
needed, we just don't use it.

Github issue cocos2d#15909
  • Loading branch information
ricardoquesada committed Jun 22, 2016
1 parent 131ed58 commit edafe72
Show file tree
Hide file tree
Showing 2 changed files with 3 additions and 3 deletions.
2 changes: 0 additions & 2 deletions cocos/2d/CCScene.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -210,8 +210,6 @@ void Scene::render(Renderer* renderer, const Mat4& eyeTransform, const Mat4* eye
// culling and other stuff.
if (eyeProjection)
camera->setAdditionalProjection(*eyeProjection * camera->getProjectionMatrix().getInversed());
else
camera->setAdditionalTransform(eyeTransform.getInversed());

director->pushMatrix(MATRIX_STACK_TYPE::MATRIX_STACK_PROJECTION);
director->loadMatrix(MATRIX_STACK_TYPE::MATRIX_STACK_PROJECTION, Camera::_visitingCamera->getViewProjectionMatrix());
Expand Down
4 changes: 3 additions & 1 deletion cocos/base/CCEventDispatcher.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -845,8 +845,10 @@ void EventDispatcher::dispatchTouchEventToListeners(EventListenerVector* listene
// second, for all camera call all listeners
// get a copy of cameras, prevent it's been modified in listener callback
// if camera's depth is greater, process it earlier
for (auto& camera: scene->getCameras())
auto cameras = scene->getCameras();
for (auto rit = cameras.rbegin(); rit != cameras.rend(); ++rit)
{
Camera* camera = *rit;
if (camera->isVisible() == false)
{
continue;
Expand Down

0 comments on commit edafe72

Please sign in to comment.