MCPcopy Create free account
hub / github.com/axmolengine/axmol / switchViewCallback

Method switchViewCallback

tests/cpp-tests/Source/Camera3DTest/Camera3DTest.cpp:833–874  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

831}
832
833void CameraCullingDemo::switchViewCallback(Object* sender)
834{
835 auto s = Director::getInstance()->getWinSize();
836
837 if (_cameraFirst == nullptr)
838 {
839 _cameraFirst = Camera::createPerspective(30.0f, (float)s.width / s.height, 10.0f, 200.0f);
840 _cameraFirst->setCameraFlag(CameraFlag::USER8);
841 _cameraFirst->setPosition3D(Vec3(-100.0f, 0.0f, 0.0f));
842 _cameraFirst->lookAt(Vec3(1000.0f, 0.0f, 0.0f));
843 _moveAction = MoveTo::create(4.f, Vec2(-_cameraFirst->getPositionX(), 0.0f));
844 _moveAction->retain();
845 auto seq = Sequence::create(
846 _moveAction, CallFunc::create(AX_CALLBACK_0(CameraCullingDemo::reachEndCallBack, this)), nullptr);
847 seq->setTag(100);
848 _cameraFirst->runAction(seq);
849 addChild(_cameraFirst);
850 }
851
852 if (_cameraThird == nullptr)
853 {
854 _cameraThird = Camera::createPerspective(60, (float)s.width / s.height, 1, 1000);
855 _cameraThird->setCameraFlag(CameraFlag::USER8);
856 _cameraThird->setPosition3D(Vec3(0.0f, 130.0f, 130.0f));
857 _cameraThird->lookAt(Vec3(0, 0, 0));
858 addChild(_cameraThird);
859 }
860
861 if (_cameraType == CameraType::FirstPerson)
862 {
863 _cameraType = CameraType::ThirdPerson;
864 _cameraThird->setCameraFlag(CameraFlag::USER1);
865 _cameraFirst->setCameraFlag(CameraFlag::USER8);
866 }
867 else if (_cameraType == CameraType::ThirdPerson)
868 {
869 _cameraType = CameraType::FirstPerson;
870 _cameraFirst->setCameraFlag(CameraFlag::USER1);
871 _cameraThird->setCameraFlag(CameraFlag::USER8);
872 _drawFrustum->clear();
873 }
874}
875
876void CameraCullingDemo::addMeshCallback(Object* sender)
877{

Callers

nothing calls this directly

Calls 11

getInstanceFunction · 0.85
createFunction · 0.85
lookAtMethod · 0.80
setTagMethod · 0.80
Vec3Function · 0.50
Vec2Function · 0.50
setPosition3DMethod · 0.45
getPositionXMethod · 0.45
retainMethod · 0.45
runActionMethod · 0.45
clearMethod · 0.45

Tested by

no test coverage detected