本文整理汇总了C++中Timing::SetTimeScaleFactor方法的典型用法代码示例。如果您正苦于以下问题:C++ Timing::SetTimeScaleFactor方法的具体用法?C++ Timing::SetTimeScaleFactor怎么用?C++ Timing::SetTimeScaleFactor使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Timing
的用法示例。
在下文中一共展示了Timing::SetTimeScaleFactor方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: if
/**
* @brief
* Called when a control event has occurred
*/
void Application61::OnControl(Control &cControl)
{
// Is it a button?
if (cControl.GetType() == ControlButton && static_cast<Button&>(cControl).IsPressed()) {
// Check whether the escape key was pressed
if (cControl.GetName() == "KeyboardEscape") {
// Shut down the application
Exit(0);
} else {
// Get current time difference
Timing *pTimer = Timing::GetInstance();
const float fTimeScaleFactor = pTimer->GetTimeScaleFactor();
// Check button
if (cControl.GetName() == "Keyboard1") {
// Decrease timescale
pTimer->SetTimeScaleFactor(fTimeScaleFactor - 0.1f);
if (pTimer->GetTimeScaleFactor() < 0.1f)
pTimer->SetTimeScaleFactor(0.1f);
} else if (cControl.GetName() == "Keyboard2") {
// Increase timescale
pTimer->SetTimeScaleFactor(fTimeScaleFactor + 0.1f);
if (pTimer->GetTimeScaleFactor() > 4.0f)
pTimer->SetTimeScaleFactor(4.0f);
} else if (cControl.GetName() == "Keyboard3") {
// Reset timescale
pTimer->SetTimeScaleFactor();
}
// Time scale factor changed?
if (fTimeScaleFactor != pTimer->GetTimeScaleFactor()) {
// Update the time scale text node
UpdateTimeScaleTextNode();
// Update the pitch variable of the sound container using the time scale factor
SceneContainer *pSceneContainer = GetScene();
if (pSceneContainer)
pSceneContainer->SetAttribute("Pitch", pTimer->GetTimeScaleFactor());
}
}
}
}