本文整理汇总了C++中Chrono::update方法的典型用法代码示例。如果您正苦于以下问题:C++ Chrono::update方法的具体用法?C++ Chrono::update怎么用?C++ Chrono::update使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Chrono
的用法示例。
在下文中一共展示了Chrono::update方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: android_main
void android_main(struct android_app* state)
{
app_dummy();
//sleep(5); // Sleep a little so GDB can attach itself
pthread_key_create(&s_thread_key, detach_current_thread);
JNIEnv* env;
state->activity->vm->AttachCurrentThread(&env, nullptr);
pthread_setspecific(s_thread_key, state->activity->vm);
AInstance ainstance;
state->userData = &ainstance;
state->onAppCmd = android_handle_event;
state->onInputEvent = android_handle_input;
ainstance.app = state;
g_native_activity = state->activity;
Path::set_current();
// Prepare to monitor accelerometer
ainstance.sensorManager = ASensorManager_getInstance();
ainstance.accelerometerSensor = ASensorManager_getDefaultSensor(
ainstance.sensorManager, ASENSOR_TYPE_ACCELEROMETER);
if (ainstance.accelerometerSensor)
{
ainstance.sensorEventQueue = ASensorManager_createEventQueue(
ainstance.sensorManager, state->looper, LOOPER_ID_USER, nullptr,
nullptr);
}
Chrono chrono;
while (!ainstance.done)
{
int ident;
int events;
struct android_poll_source* source;
while ((ident = ALooper_pollAll(
(!ainstance.active ? -1 : 0), nullptr, &events,
reinterpret_cast<void**>(&source))) >= 0)
{
if (source)
source->process(state, source);
if (ainstance.done)
break;
// If a sensor has data, process it now.
if (ainstance.active && ident == LOOPER_ID_USER &&
ainstance.accelerometerSensor)
{
ASensorEvent event;
while (ASensorEventQueue_getEvents(
ainstance.sensorEventQueue, &event, 1) > 0)
{
ainstance.director->input().accelerated(
event.acceleration.x,
event.acceleration.y,
event.acceleration.z,
event.timestamp);
}
}
}
chrono.update();
if (!(ainstance.initialised & ainstance.active))
continue;
ainstance.director->update(chrono.delta());
ainstance.director->draw();
eglSwapBuffers(ainstance.display, ainstance.surface);
}
android_destroy_display(&ainstance);
}