本文整理汇总了C++中Timer::Delay方法的典型用法代码示例。如果您正苦于以下问题:C++ Timer::Delay方法的具体用法?C++ Timer::Delay怎么用?C++ Timer::Delay使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Timer
的用法示例。
在下文中一共展示了Timer::Delay方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: ToOutFloat
void LFNoise1_kr::m_perform(void*)
{
m_level+=m_slope;
ToOutFloat(0,m_level);
if (--counter)
{
m_timer.Reset();
m_timer.Delay(tick);
}
else
{
counter = (dt/tick);
float nextlevel = rgen.frand2();
m_slope = (nextlevel - m_level) / counter;
m_timer.Reset();
m_timer.Delay(tick);
}
}
示例2:
void LFNoise1_kr::m_set(float f)
{
dt = sc_max(1/f, .001f);
counter = (dt/tick);
float nextlevel = rgen.frand2();
m_slope = (nextlevel - m_level) / counter;
m_timer.Reset();
m_timer.Delay(tick);
}
示例3: starfield
//.........这里部分代码省略.........
Timer *timer = Timer::Instance();
Video *video = Video::Instance();
SpriteList *spriteList = SpriteList::Instance();
Ship *player = new Ship(); // the player sprite
bool quit = false;
SDL_Event event;
camera = Camera::Instance();
camera->Follow( player );
player->UseAI( false );
player->IsPlayer( true );
player->SetThrust( 5. );
// add player
spriteList->Add( player );
Ship *test = new Ship( 15, 15 );
spriteList->Add( test );
if( SDL_Init( SDL_INIT_JOYSTICK ) != 0 )
cout << "massive joystick error" << endl; // move to an input class
timer->Reset();
hud.Message( HUD_MSG_COMMAND, "Good morning, pilot." );
while( !quit ) {
// erase
video->Blank();
// update
// get user input
while( SDL_PollEvent( &event ) ) {
switch( event.type ) {
case SDL_QUIT:
quit = true;
break;
case SDL_JOYAXISMOTION:
cout << "joystick motion!" << endl;
if(event.jaxis.which == 0)
player->Turn( (float)-20 * 0.15f );
break;
case SDL_KEYDOWN:
switch( event.key.keysym.sym ) {
case SDLK_ESCAPE:
quit = true;
break;
case SDLK_w:
player->ThrottleUp();
break;
case SDLK_s:
player->ThrottleDown();
break;
default:
break;
}
break;
case SDL_MOUSEMOTION:
if(( event.motion.xrel ) && ( event.motion.xrel != 160 )) {
if( abs(event.motion.xrel) > 20 )
if(event.motion.xrel < 0)
player->Turn( (float)-20 * 0.15f );
else
player->Turn( (float)20 * 0.15f );
else
player->Turn( (float)event.motion.xrel * 0.15f );
}
break;
case SDL_MOUSEBUTTONDOWN:
if( event.button.button == 1) player->Fire();
if( event.button.button == 4) player->ThrottleUp();
if( event.button.button == 5) player->ThrottleDown();
break;
default:
break;
}
}
for( int n = timer->GetLoops(); n ; --n ) {
// update various systems
camera->Update();
starfield.Update();
spriteList->Update();
hud.Update();
}
// draw
starfield.Draw();
spriteList->Draw();
hud.Draw();
video->Update();
timer->Delay();
}
}