Cocos2d-x CCFollow Zooming issue
Posted
by
blakey87
on Game Development
See other posts from Game Development
or by blakey87
Published on 2013-11-02T18:08:55Z
Indexed on
2013/11/02
22:19 UTC
Read the original article
Hit count: 652
Hi I am currently building a cocos2d-x game which incorporates pinch zoom using CCLayerPanZoom class which can be found here
The problem is basically when using CCFollow and zooming and out, it does'nt zoom on the actually followed node, so the camera appears to zoom towards the bottom left corner of the screen, when I would rather it zoom centrally on the followed node.
If I could resolve this I would pretty darn happy. I converted a fix from the cocos2d objective C version in the CCfollow class to cocos2d-x which improved the issue,but if you look at the post in latter link you will see the guy is having the exact same problem, he gave up on fixing it sadly.
I think its close but I don't really know what going on, hopefully someone out there has already faced and fixed this problem.
My converted code is below.
CCPoint p1 = ccpMult(m_obHalfScreenSize, m_pTarget->getScale() );
CCPoint p2 = ccpMult(m_pobFollowedNode->getPosition(), m_pTarget->getScale() );
CCPoint offect = ccpMult(ccpSub(p1, m_obHalfScreenSize), 0.5f);
CCPoint tempPos = ccpAdd(ccpSub(p1, p2), offect);
m_pTarget->setPosition(ccp(clampf(tempPos.x,m_fLeftBoundary,m_fRightBoundary),
clampf(tempPos.y,m_fBottomBoundary,m_fTopBoundary)));
I have attached before and after to hopefully make things more clear.
© Game Development or respective owner