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

Method SwitchViewCallback

tests/cpp-tests/Source/Camera3DTest/Camera3DTest.cpp:221–261  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

219 }
220}
221void Camera3DTestDemo::SwitchViewCallback(Object* sender, CameraType cameraType)
222{
223 if (_cameraType == cameraType)
224 {
225 return;
226 }
227 _cameraType = cameraType;
228 if (_cameraType == CameraType::Free)
229 {
230 _camera->setPosition3D(Vec3(0, 130, 130) + _mesh->getPosition3D());
231 _camera->lookAt(_mesh->getPosition3D());
232
233 _RotateRightlabel->setColor(Color3B::WHITE);
234 _RotateLeftlabel->setColor(Color3B::WHITE);
235 _ZoomInlabel->setColor(Color3B::WHITE);
236 _ZoomOutlabel->setColor(Color3B::WHITE);
237 }
238 else if (_cameraType == CameraType::FirstPerson)
239 {
240 Vec3 newFaceDir;
241 _mesh->getWorldToNodeTransform().getForwardVector(&newFaceDir);
242 newFaceDir.normalize();
243 _camera->setPosition3D(Vec3(0, 35, 0) + _mesh->getPosition3D());
244 _camera->lookAt(_mesh->getPosition3D() + newFaceDir * 50);
245
246 _RotateRightlabel->setColor(Color3B::WHITE);
247 _RotateLeftlabel->setColor(Color3B::WHITE);
248 _ZoomInlabel->setColor(Color3B::GRAY);
249 _ZoomOutlabel->setColor(Color3B::GRAY);
250 }
251 else if (_cameraType == CameraType::ThirdPerson)
252 {
253 _camera->setPosition3D(Vec3(0, 130, 130) + _mesh->getPosition3D());
254 _camera->lookAt(_mesh->getPosition3D());
255
256 _RotateRightlabel->setColor(Color3B::GRAY);
257 _RotateLeftlabel->setColor(Color3B::GRAY);
258 _ZoomInlabel->setColor(Color3B::WHITE);
259 _ZoomOutlabel->setColor(Color3B::WHITE);
260 }
261}
262void Camera3DTestDemo::onEnter()
263{
264 CameraBaseTest::onEnter();

Callers

nothing calls this directly

Calls 8

lookAtMethod · 0.80
Vec3Function · 0.50
setPosition3DMethod · 0.45
getPosition3DMethod · 0.45
setColorMethod · 0.45
getForwardVectorMethod · 0.45
normalizeMethod · 0.45

Tested by

no test coverage detected