Cameras switch only after a set amount of seconds
This commit is contained in:
@@ -17,8 +17,6 @@ void DataManager::setup()
|
||||
}
|
||||
|
||||
setupSpacebrew();
|
||||
|
||||
nextDataSendTime = 0.1;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -176,6 +176,7 @@ void GUI::addCameraGUI()
|
||||
gui->addSlider("Cam" + ofToString(i) + " Direction Point Y", 0, 150, &app->scene.cameras[i].lookAtVec.y, length, dim);
|
||||
gui->addSlider("Cam" + ofToString(i) + " Rotation Speed", -2, 2, &app->scene.cameras[i].rotSpeed, length, dim);
|
||||
gui->addSlider("Cam" + ofToString(i) + " Swap Probablity (per frame)", 0.001, 0.1, &app->scene.cameras[i].swapProbability, length, dim);
|
||||
gui->addSlider("Cam" + ofToString(i) + " Min Seconds Before Swapping", 0.5, 10, &app->scene.cameras[i].minSecondsBeforeSwapping, length, dim);
|
||||
}
|
||||
|
||||
finaliseCanvas(gui, true);
|
||||
|
||||
@@ -7,11 +7,14 @@ void Camera::setup(int _camID)
|
||||
lookAtNode.setPosition(0, 0, 0);
|
||||
setDistance(100);
|
||||
minSecondsBeforeSwapping = 2;
|
||||
isReadyForSwap = false;
|
||||
}
|
||||
|
||||
|
||||
void Camera::update()
|
||||
{
|
||||
if (ofGetElapsedTimef() - timeBecameActive > minSecondsBeforeSwapping)
|
||||
isReadyForSwap = true;
|
||||
|
||||
positionVec.x = sin(ofGetElapsedTimef() * rotSpeed) * distance;
|
||||
//positionVec.y = 40;
|
||||
@@ -25,10 +28,12 @@ void Camera::update()
|
||||
|
||||
void Camera::activate()
|
||||
{
|
||||
isReadyForSwap = false;
|
||||
timeBecameActive = ofGetElapsedTimef();
|
||||
}
|
||||
|
||||
|
||||
void Camera::deactivate()
|
||||
{
|
||||
isReadyForSwap = false;
|
||||
}
|
||||
@@ -30,4 +30,6 @@ public:
|
||||
float swapProbability;
|
||||
float minSecondsBeforeSwapping;
|
||||
float timeBecameActive;
|
||||
|
||||
bool isReadyForSwap;
|
||||
};
|
||||
@@ -37,17 +37,17 @@ void Scene::update()
|
||||
{
|
||||
if (activeCamera->camID == 0)
|
||||
{
|
||||
if (ofRandom(1) < activeCamera->swapProbability)
|
||||
if (ofRandom(1) < activeCamera->swapProbability && activeCamera->isReadyForSwap)
|
||||
switchCamera();
|
||||
}
|
||||
else if (activeCamera->camID == 1)
|
||||
{
|
||||
if (ofRandom(1) < activeCamera->swapProbability)
|
||||
if (ofRandom(1) < activeCamera->swapProbability && activeCamera->isReadyForSwap)
|
||||
switchCamera();
|
||||
}
|
||||
else if (activeCamera->camID == 2)
|
||||
{
|
||||
if (ofRandom(1) < activeCamera->swapProbability)
|
||||
if (ofRandom(1) < activeCamera->swapProbability && activeCamera->isReadyForSwap)
|
||||
switchCamera();
|
||||
}
|
||||
}
|
||||
@@ -143,7 +143,6 @@ void Scene::switchCamera()
|
||||
if (activeCamera->camID == 2)
|
||||
newCamID = (ofRandom(2) < 0.5) ? 0 : 1;
|
||||
|
||||
printf("************ changing cameras to %i ************** \n", newCamID);
|
||||
activeCamera->deactivate();
|
||||
activeCamera = &cameras[newCamID];
|
||||
activeCamera->activate();
|
||||
|
||||
Reference in New Issue
Block a user