本文整理汇总了C++中OnRender函数的典型用法代码示例。如果您正苦于以下问题:C++ OnRender函数的具体用法?C++ OnRender怎么用?C++ OnRender使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了OnRender函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: if
/**
* @brief Called on keypresses, clicks, etc.
*
* @param[in] event Describes the event that occurred.
*/
void MazeSolverApp::OnEvent(SDL_Event* event)
{
if(event->type == SDL_QUIT)
{
running = false;
}
else if (event->type == SDL_KEYDOWN)
{
if (event->key.keysym.unicode == 'd')
{
/* Solve the maze with a depth-first search. */
if (solver)
{
delete solver;
solver = NULL;
}
solver = (MazeSolverBase *) new DepthFirstSolver(this);
solver->solve(maze);
OnRender();
}
else if (event->key.keysym.unicode == 'b')
{
/* Solve the maze with a breadth-first search. */
if (solver)
{
delete solver;
solver = NULL;
}
solver = (MazeSolverBase *) new BreadthFirstSolver(this);
solver->solve(maze);
OnRender();
}
else if (event->key.keysym.unicode == 'r')
{
/* Reset the maze. */
if (solver)
{
delete solver;
solver = NULL;
}
rb->create_maze();
OnRender();
}
else if (event->key.keysym.unicode == 'q')
{
running = false;
}
}
}
开发者ID:arcticmatt,项目名称:CS2,代码行数:57,代码来源:MazeSolverApp.cpp
示例2: while
//------------------------------------------------------------------------------
int CApp::OnExecute() {
if(OnInit() == false) {
return -1;
}
SDL_Event Event;
while(Running) {
if(AIenabled && CurrentPlayer && GameState == GAME_STATE_RUNNING)
{
GameClick(AIMove());
}
while(SDL_PollEvent(&Event)) {
OnEvent(&Event);
}
OnLoop();
OnRender();
}
OnCleanup();
return 0;
}
开发者ID:Fenixp,项目名称:Tic-Tac-Toe-SDL,代码行数:26,代码来源:CApp.cpp
示例3: while
int SampleApp::MainLoop()
{
MSG msg = { 0 };
while (WM_QUIT != msg.message)
{
if (PeekMessage(&msg, NULL, 0, 0, PM_REMOVE))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
else
{
LARGE_INTEGER pc;
QueryPerformanceCounter(&pc);
if (pc.QuadPart - prevCounter.QuadPart >= counterPerFrame)
{
LONGLONG elapsed = pc.QuadPart - prevCounter.QuadPart;
prevCounter = pc;
OnUpdate(elapsed);
OnRender();
}
}
}
return (int)msg.wParam;
}
开发者ID:FLOWERCLOUD,项目名称:ssdr,代码行数:27,代码来源:SampleApp.cpp
示例4: main
int main(int argc,char ** argv)
{
// start GL context and O/S window using the GLFW helper library
appDelegate.AppWillStart();
FPS_Helper fpsHelper;
fpsHelper.SetFixedFPS(30);
InitOpenGL();
appDelegate.AppDidStart();
while (!glfwWindowShouldClose (mainWnd.window))
{
// wipe the drawing surface clear
static double timer_last = 0;
double curr_time = glfwGetTime();
if(curr_time - timer_last > 0.2)
{
timer_last = timer_last + 0.02;
OnTimer();
}
if(fpsHelper.Tick())
{
OnRender();
// update other events like input handling
glfwPollEvents ();
// put the stuff we've been drawing onto the display
glfwSwapBuffers (mainWnd.window);
}
}
// close GL context and any other GLFW resources
appDelegate.AppWillTerminate();
glfwTerminate();
return 0;
}
开发者ID:bhlzlx,项目名称:graphics,代码行数:35,代码来源:main.cpp
示例5: while
//Holds game logic together
int Game::OnStart() {
//Initialize the game
if (OnInit() == false) {
return -1;
}
SDL_Event Event;
//While game is running
while (running) {
while (gameType == 0 && running) {
while (SDL_PollEvent(&Event)) {
OnEvent(&Event);
}
//meanwhile show menu
showMenu();
}
while (SDL_PollEvent(&Event)) {
//Handle user input
OnEvent(&Event);
}
OnLoop();
OnRender();
}
OnCleanUp();
return 0;
};
开发者ID:tomtom7,项目名称:tictactoe,代码行数:30,代码来源:game.cpp
示例6: SDL_Delay
void ConvexHullApp::add_to_hull(Tuple *p)
{
hull.push_back(p);
SDL_Delay(ANIMATION_DELAY);
OnRender();
}
开发者ID:arcticmatt,项目名称:CS2,代码行数:7,代码来源:ConvexHullApp.cpp
示例7: WndProc
LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
if ((message >= WM_MOUSEFIRST && message <= WM_MOUSELAST) ||
(message >= WM_KEYFIRST && message <= WM_KEYLAST) ||
(message >= WM_TOUCH && message <= WM_POINTERWHEEL))
{
GetCurrentInputMessageSource(&g_inputSource);
InvalidateRect(g_hwnd, NULL, FALSE);
}
switch (message)
{
case WM_PAINT:
case WM_DISPLAYCHANGE:
{
PAINTSTRUCT ps;
HDC hdc = BeginPaint(hwnd, &ps);
OnRender(hdc, ps.rcPaint);
EndPaint(hwnd, &ps);
}
return 0;
case WM_DESTROY:
{
PostQuitMessage(0);
}
return 1;
}
return DefWindowProc(hwnd, message, wParam, lParam);
}
开发者ID:DMFZ,项目名称:Windows-classic-samples,代码行数:31,代码来源:InputSource.cpp
示例8: while
int Main::OnExecute(CL_ParamList* pCL_Params)
{
if(!OnInit(pCL_Params))
return -1;
SDL_Event Event;
Uint32 t1,t2;
float fTime = 0.0f;
while(Running)
{
t1 = SDL_GetTicks();
while(SDL_PollEvent(&Event))
{
if(Event.type == SDL_QUIT)
Running = false;
else OnEvent(&Event);
}
OnMove(fTime);
OnRender();
t2 = SDL_GetTicks();
fTime = (float)(t2-t1)/1000.0f;
}
OnExit();
return 1;
}
开发者ID:Niautanor,项目名称:Warpig,代码行数:28,代码来源:Main.cpp
示例9: CreateAsteroid
void Game::OnExecute()
{
if (m_state != GameState::INIT_SUCCESSFUL)
{
std::cerr << "Game INIT was not successful." << std::endl;
return;
}
m_state = GameState::RUNNING;
CreateAsteroid(Asteroids::Asteroid::AsteroidSize::BIG, 1);
SDL_Event event;
while (m_state == GameState::RUNNING)
{
// Input polling
//
while (SDL_PollEvent(&event))
{
OnEvent(&event);
}
//
OnUpdate();
OnRender();
}
}
开发者ID:rroa,项目名称:PUCMM_2D_Asteroids,代码行数:26,代码来源:Game.cpp
示例10: OnRender
// Called whenever the client area needs to be drawn
HRESULT FirstTry::OnPaint()
{
// Update the animation manager with the current time
UI_ANIMATION_SECONDS secondsNow;
HRESULT hr = m_pAnimationTimer->GetTime(&secondsNow);
if (SUCCEEDED(hr))
{
hr = m_pAnimationManager->Update(secondsNow);
// Read the values of the animation variables and draw the client area
hr = OnRender();
if (SUCCEEDED(hr))
{
// Continue redrawing the client area as long as there are animations scheduled.
UI_ANIMATION_MANAGER_STATUS status;
hr = m_pAnimationManager->GetStatus(&status);
if (SUCCEEDED(hr))
{
if (status == UI_ANIMATION_MANAGER_BUSY)
{
InvalidateRect(m_hwnd, NULL, FALSE);
}
}
}
}
return hr;
}
开发者ID:yanhua2002,项目名称:Direct2DSample,代码行数:29,代码来源:FirstTry.cpp
示例11: if
/**
* @brief Called on keypresses, clicks, etc.
*
* @param[in] event Describes the event that occurred.
*/
void LineApp::OnEvent(SDL_Event* event)
{
if(event->type == SDL_QUIT)
{
running = false;
}
else if (event->type == SDL_KEYDOWN)
{
if (event->key.keysym.unicode == 'q')
{
running = false;
}
else if (event->key.keysym.unicode == 'l')
{
DoLineAlg();
}
else if (event->key.keysym.unicode == 'c')
{
delete_all();
}
}
else if (event->type == SDL_MOUSEBUTTONDOWN)
{
if (event->button.state == SDL_PRESSED)
{
int x = event->button.x;
int y = event->button.y;
points.push_back(new Tuple(x, y));
}
OnRender();
}
}
开发者ID:Dama624,项目名称:Caltech-CS002,代码行数:37,代码来源:LineApp.cpp
示例12: while
void MainGameLoop::Run()
{
FrameCounter fc;
// main game loop
while (!m_bExitLoop)
{
OnTick();
ProcessEvents();
if (m_bExitLoop)
break;
if (!m_bAppActive)
{
// as we're not visible, just wait for next event
SDL_WaitEvent(NULL);
continue;
}
// render the scene
{
OpenGL::ResetPolycount();
OnRender();
fc.OnNextFrame();
}
// count ticks for fps
double dFramesPerSecond;
if (m_bUpdateFrameCount && fc.GetUpdatedCount(dFramesPerSecond))
UpdateCaption(dFramesPerSecond);
}
}
开发者ID:zengnotes,项目名称:MultiplayerOnlineGame,代码行数:35,代码来源:MainGameLoop.cpp
示例13: while
void CApplication::MainLoop()
{
SDL_Event event;
Uint32 startTime, elapsedTime;
while( !m_Quit )
{
// Le temps avant l'éxécution
startTime = SDL_GetTicks();
// Tant qu'il y a des messages, les traiter
while( SDL_PollEvent(&event) )
{
OnEvent(event);
}
// Mise à jour de la scène
OnUpdate();
// Démarrer le rendu
m_Renderer.BeginScene();
OnRender();
m_Renderer.EndScene();
// Si on a mis moins de temps que le nombre de FPS demandé, on attend
// permet de limiter les fps et de gagner du temps de process CPU
if( (elapsedTime = SDL_GetTicks()-startTime) < m_FPSLimit )
{
SDL_Delay(m_FPSLimit - elapsedTime);
}
}
}
开发者ID:Hiuld,项目名称:SDL2OGL,代码行数:29,代码来源:CApplication.cpp
示例14: while
int App::OnExecute()
{
if(OnInit() == false)
{
return -1;
}
controller->Initialize();
SDL_Event Event;
while(running)
{
Scene* scene = controller->GetCurrentScene();
if (scene == NULL)
{
break;
}
if(SDL_PollEvent(&Event))
{
OnEvent(scene, &Event);
}
OnLoop(scene);
OnRender(scene);
}
OnCleanup();
return 0;
}
开发者ID:davidsiaw,项目名称:kubus,代码行数:31,代码来源:app.cpp
示例15: while
int CApp::OnExecute(){
if (OnInit() == false){
return -1;
}
SDL_Event Event;
while(Running){
while(SDL_PollEvent(&Event)){
OnEvent(&Event);
}
OnLoop();
OnRender();
}
OnCleanup();
return 0;
}
开发者ID:majorsilence,项目名称:derp-octo-tyrion,代码行数:26,代码来源:CApp.cpp
示例16: OnRender
int cLayer::Render()
{
int Result = OnRender();
return Result;
}
开发者ID:NeuroWhAI,项目名称:WhatBox,代码行数:7,代码来源:cLayer.cpp
示例17: while
int CInstance_Menu_MJ::OnExecute()
{
if(!Init())
{
cerr << ERROR_STR_INIT << " MENU_MJ" << endl;
return ERROR_CODE_GENERAL;
}
int frame = 0;
CTemporizador fps;
int salida = I_SALIDA;
while(i_running)
{
fps.empezar();
while(SDL_PollEvent(&event))
{
OnEvent(salida);
}
OnLoop(salida);
OnRender();
frame++;
if((fps.getTicks() < (1000 / FRAMES_PER_SECOND)))
SDL_Delay((1000 / FRAMES_PER_SECOND ) - fps.getTicks());
}
Close();
return salida;
}
开发者ID:wikiti,项目名称:ullPong,代码行数:32,代码来源:instance_menu_mj.cpp
示例18: OnInit
int CApp::OnExecute()
{
// Initialize application.
int state = OnInit();
if (state != APP_OK) {
return state;
}
// Enter the SDL event loop.
SDL_Event event;
running = true;
while (running)
{
while (SDL_PollEvent(&event)) {
OnEvent(&event);
}
OnUpdate();
OnRender();
}
return state;
}
开发者ID:Zammalad,项目名称:SDL2-XCode-Template,代码行数:25,代码来源:CApp.cpp
示例19: switch
/**
* Handle all events that come from SDL.
* These are timer or keyboard events.
*/
void SFApp::OnEvent(SFEvent& event) {
SFEVENT the_event = event.GetCode();
switch (the_event) {
case SFEVENT_QUIT:
is_running = false;
break;
case SFEVENT_UPDATE:
OnUpdateWorld();
OnRender();
break;
case SFEVENT_PLAYER_UP:
player->GoNorth();
break;
case SFEVENT_PLAYER_DOWN:
player->GoSouth();
break;
case SFEVENT_PLAYER_LEFT:
player->GoWest();
break;
case SFEVENT_PLAYER_RIGHT:
player->GoEast();
break;
case SFEVENT_FIRE:
fire ++;
FireProjectile();
break;
}
}
开发者ID:naruto655,项目名称:StarshipFontana,代码行数:32,代码来源:SFApp.cpp
示例20: OnRender
int cFX::Render()
{
return OnRender();
}
开发者ID:NeuroWhAI,项目名称:WhatBox,代码行数:7,代码来源:cFX.cpp
注:本文中的OnRender函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论