Merge pull request #259 from lvlonggame/camera_culling_crash

fix: Camera culling crash
This commit is contained in:
XiaoYang 2015-03-19 16:30:00 +08:00
commit dfe9e45d50
1 changed files with 3 additions and 2 deletions

View File

@ -882,8 +882,9 @@ void CameraCullingDemo::update(float dt)
void CameraCullingDemo::reachEndCallBack() void CameraCullingDemo::reachEndCallBack()
{ {
_cameraFirst->stopActionByTag(100); _cameraFirst->stopActionByTag(100);
auto inverse = (MoveTo*)_moveAction->reverse(); auto inverse = MoveTo::create(4.f, Vec2(-_cameraFirst->getPositionX(), 0));
inverse->retain(); inverse->retain();
_moveAction->release(); _moveAction->release();
_moveAction = inverse; _moveAction = inverse;
auto rot = RotateBy::create(1.f, Vec3(0.f, 180.f, 0.f)); auto rot = RotateBy::create(1.f, Vec3(0.f, 180.f, 0.f));
@ -902,7 +903,7 @@ void CameraCullingDemo::switchViewCallback(Ref* sender)
_cameraFirst->setCameraFlag(CameraFlag::USER8); _cameraFirst->setCameraFlag(CameraFlag::USER8);
_cameraFirst->setPosition3D(Vec3(-100,0,0)); _cameraFirst->setPosition3D(Vec3(-100,0,0));
_cameraFirst->lookAt(Vec3(1000,0,0)); _cameraFirst->lookAt(Vec3(1000,0,0));
_moveAction = MoveTo::create(4.f, Vec2(100, 0)); _moveAction = MoveTo::create(4.f, Vec2(-_cameraFirst->getPositionX(), 0));
_moveAction->retain(); _moveAction->retain();
auto seq = Sequence::create(_moveAction, CallFunc::create(CC_CALLBACK_0(CameraCullingDemo::reachEndCallBack, this)), nullptr); auto seq = Sequence::create(_moveAction, CallFunc::create(CC_CALLBACK_0(CameraCullingDemo::reachEndCallBack, this)), nullptr);
seq->setTag(100); seq->setTag(100);