void CGame::Render() { // for example, clear to black (the order of components is ABGR) Iw2DSurfaceClear(0x00ecdeff); Iw2DSetColour(0xffffffff); std::string s; if(_currentLevel==0) s.append("Lobby"); else { s.append("Level "); std::ostringstream ss; ss << _currentLevel; s.append(ss.str()); } IwGxPrintSetScale(2); IwGxPrintString(630, 10, (char*)s.c_str()); currentMap->Render(_Character->m_CollisionBox); _Character->Render(currentMap->m_Position); _UI->Render(); if(_firstLaunch) Iw2DDrawImage(_imageTut[0],CIwSVec2(300,300)); if(_currentLevel==1&&_firstLaunchLevel1) Iw2DDrawImage(_imageTut[1],CIwSVec2(300,300)); if(_enterDoor) Iw2DDrawImage(_imageTut[2],CIwSVec2(300,300)); if(_mazeFinish) Iw2DDrawImage(_imageTut[3],CIwSVec2(300,300)); // show the surface Iw2DSurfaceShow(); }
void DrawOnRed() { int w = Iw2DGetSurfaceWidth(); int h = Iw2DGetSurfaceHeight(); Iw2DSurfaceClear(0xFF0000FF); Iw2DDrawImage(image1, CIwSVec2(w / 2 - image1->GetWidth() / 2, h / 2 - image1->GetHeight() / 2)); }
void DrawOnBlue() { int w = Iw2DGetSurfaceWidth(); int h = Iw2DGetSurfaceHeight(); Iw2DSurfaceClear(0xFFFF0000); Iw2DDrawImage(image2, CIwSVec2(w / 2 - image2->GetWidth() / 2, h / 2 - image2->GetHeight() / 2)); }
int main() { Iw2DInit(); CIw2DImage* g_AirplayLogo = Iw2DCreateImage("largeAirplayLogo.bmp"); while (1) { int64 start = s3eTimerGetMs(); if (s3eDeviceCheckQuitRequest()) break; // Clear the screen Iw2DSurfaceClear(0xffffffff); CIwSVec2 topLeft = CIwSVec2((int16)(Iw2DGetSurfaceWidth() / 2 - g_AirplayLogo->GetWidth() / 2), (int16)(Iw2DGetSurfaceHeight() / 2 - g_AirplayLogo->GetHeight() / 2)); CIwSVec2 size = CIwSVec2((int16)g_AirplayLogo->GetWidth(), (int16)g_AirplayLogo->GetHeight()); Iw2DDrawImage(g_AirplayLogo, topLeft, size); Iw2DSurfaceShow(); // Attempt frame rate while ((s3eTimerGetMs() - start) < MS_PER_FRAME) { int32 yield = (int32) (MS_PER_FRAME - (s3eTimerGetMs() - start)); if (yield<0) break; s3eDeviceYield(yield); } } delete g_AirplayLogo; Iw2DTerminate(); return 0; }
int main() { Iw2DInit(); TweenTest* tests = new TweenTest(); while (!s3eDeviceCheckQuitRequest()) { tests->Update(FRAME_TIME); Iw2DSurfaceClear(0xff000000); //tests->Render(); Iw2DSurfaceShow(); s3eDeviceYield(0); } delete tests; Iw2DTerminate(); return 0; }
void CGame::Render() { // game render goes here // for example, clear to black (the order of components is ABGR) Iw2DSurfaceClear(0xff000000); Iw2DDrawImage(m_ImgBG, CIwSVec2(0,0)); Iw2DDrawImage(m_ImgKey, CIwSVec2(m_Position.x, m_Position.y)); // show the surface Iw2DSurfaceShow(); }
//----------------------------------------------------------------------------- // Main global function //----------------------------------------------------------------------------- int main() { #ifdef EXAMPLE_DEBUG_ONLY // Test for Debug only examples #ifndef IW_DEBUG DisplayMessage("This example is designed to run from a Debug build. Please build the example in Debug mode and run it again."); return 0; #endif #endif Iw2DInit(); // Example main loop ExampleInit(); // Set screen clear colour while (1) { s3eDeviceYield(0); s3eKeyboardUpdate(); s3ePointerUpdate(); int64 start = s3eTimerGetMs(); bool result = ExampleUpdate(); if ( (result == false) || (s3eKeyboardGetState(s3eKeyEsc) & S3E_KEY_STATE_DOWN) || (s3eKeyboardGetState(s3eKeyAbsBSK) & S3E_KEY_STATE_DOWN) || (s3eDeviceCheckQuitRequest()) ) break; // Clear the screen Iw2DSurfaceClear(0xffffffff); RenderSoftkeys(); ExampleRender(); // Attempt frame rate while ((s3eTimerGetMs() - start) < MS_PER_FRAME) { int32 yield = (int32) (MS_PER_FRAME - (s3eTimerGetMs() - start)); if (yield<0) break; s3eDeviceYield(yield); } } ExampleShutDown(); Iw2DTerminate(); return 0; }
int main() { // Initialise the 2D graphics system Iw2DInit(); // Set up input systems g_pInput = new Input(); // Create an image from a PNG file CIw2DImage* image = Iw2DCreateImage("textures/letter_A.png"); CIwFVec2 image_position = CIwFVec2::g_Zero; // Loop forever, until the user or the OS performs some action to quit the app while (!s3eDeviceCheckQuitRequest()) { // Update input system g_pInput->Update(); // Clear the drawing surface Iw2DSurfaceClear(0xff000000); // Draw an image CIwFVec2 sz = CIwFVec2(50, 50); Iw2DDrawImage(image, image_position, sz); // Check for user tapping screen if (!g_pInput->m_Touched && g_pInput->m_PrevTouched) { // Move image to touched position image_position.x = (float)g_pInput->m_X - 25; image_position.y = (float)g_pInput->m_Y - 25; // Reset input g_pInput->Reset(); } // Show the drawing surface Iw2DSurfaceShow(); // Yield to the OS s3eDeviceYield(0); } // Clean-up delete image; delete g_pInput; Iw2DTerminate(); return 0; }
void CGame::Render() { // game render goes here // for example, clear to black (the order of components is ABGR) Iw2DSurfaceClear(0xff000000); // draw a red square Iw2DSetColour(0xff0000ff); // note conversion to pixel coordinates Iw2DFillRect(CIwSVec2((iwsfixed)m_Position.x, (iwsfixed)m_Position.y) - m_Size/IW_FIXED(2), m_Size); // show the surface Iw2DSurfaceShow(); }
// Main entry point for the application int main() { // Initialise Iw2D Iw2DInit(); // Get surface width and height int surface_width = Iw2DGetSurfaceWidth(); int surface_height = Iw2DGetSurfaceHeight(); // Rotation angle of rectangle float angle = 0; // Wait for a quit request from the host OS while (!s3eDeviceCheckQuitRequest()) { // Clear background to blue Iw2DSurfaceClear(0xff8080); // Set up a transform CIwFMat2D mat; mat.SetRot(angle); mat.ScaleRot(2.0f); mat.SetTrans(CIwFVec2((float)surface_width / 2, (float)surface_height / 2)); Iw2DSetTransformMatrix(mat); angle += 0.01f; // Render filled rectangle Iw2DSetColour(0xff00ffff); Iw2DFillRect(CIwFVec2(-50.0f, -100.0f), CIwFVec2(100.0f, 200.0f)); // Render filled arc Iw2DSetColour(0xffff00ff); Iw2DFillArc(CIwFVec2(0, 0), CIwFVec2(100.0f, 100.0f), 0, 1.8 * PI); // Flip the surface buffer to screen Iw2DSurfaceShow(); // Sleep to allow the OS to process events etc. s3eDeviceYield(0); } // Shut down Iw2D Iw2DTerminate(); return 0; }
void DrawMap() { Iw2DSurfaceClear(0x11550030); for(int i=0;i<10;i++) { for(int j=0;j<10;j++) { switch(Map[i][j]) { case 0: Iw2DDrawImage(grass,CIwFVec2((i-j+9)*16,(i+j)*8)); break; case 1: Iw2DDrawImage(three,CIwFVec2((i-j+9)*16,(i+j)*8)); break; case 2: Iw2DDrawImage(grass,CIwFVec2((i-j+9)*16,(i+j)*8)); Iw2DDrawImage(man,CIwFVec2((i-j+9)*16,(i+j)*8)); break; } } } Iw2DSurfaceShow(); }
int main() { Iw2DInit(); game = new Game(); game->Initialize(); game->NewGame(); int currentUpdate = GetUpdateFrame(); int nextUpdate = currentUpdate; s3ePointerRegister(S3E_POINTER_BUTTON_EVENT, (s3eCallback) MouseEventCallback, NULL); while(!s3eDeviceCheckQuitRequest()) { while(!s3eDeviceCheckQuitRequest()) { nextUpdate = GetUpdateFrame(); if( nextUpdate != currentUpdate ) break; s3eDeviceYield(1); } // execute update steps int frames = nextUpdate - currentUpdate; frames = MIN(MAX_UPDATES, frames); while(frames--) { game->Update(); } Iw2DSurfaceClear(0xffffffff); game->Render(); Iw2DSurfaceShow(); s3ePointerUpdate(); s3eKeyboardUpdate(); s3eDeviceYield(); } delete game; Iw2DTerminate(); return 0; }
// Main entry point for the application int main() { AppDelegate* app = new AppDelegate; cocos2d::CCApplication::sharedApplication()->Run(); Iw2DInit(); while (!s3eDeviceCheckQuitRequest()) { Iw2DSurfaceClear(0xff000000); // Show the drawing surface Iw2DSurfaceShow(); // Yield to the OS s3eDeviceYield(0); } Iw2DTerminate(); delete app; return 0; }
// Main entry point for the application int main() { //Initialise graphics system(s) Iw2DInit(); //Create resources g_pResources = new Resources(); //Create scene manager g_pSceneManager = new SceneManager(); // Set up input systems g_Input = new Input(); //Init the main menu MainMenu* main_menu = new MainMenu(); main_menu->SetName("mainmenu"); main_menu->Init(); g_pSceneManager->Add(main_menu); // Init the field Field* field = new Field(); field->SetName("field"); // Creates random puzzle Puzzle *p = new Puzzle(7, 7, 7); p->generateRandom(1); field->Init(p); g_pSceneManager->Add(field); //Init the howToPlay HowToPlay* howToPlay = new HowToPlay(); howToPlay->SetName("howtoplay"); howToPlay->Init(); g_pSceneManager->Add(howToPlay); // Switch to the main menu g_pSceneManager->SwitchTo(main_menu); // Initialize variables for Frame Rate control uint64 frame_start_time = 0; int yield = 0; // Loop forever, until the user or the OS performs some action to quit the app while (!s3eDeviceCheckQuitRequest()) { // Record start time of frame. frame_start_time = s3eTimerGetMs(); //Update the input systems g_Input->Update(); //Update scene manager g_pSceneManager->Update(FRAME_TIME); // Clear screen Iw2DSurfaceClear(0xff000000); //Render scene manager g_pSceneManager->Render(); // Show the drawing surface Iw2DSurfaceShow(); // Calculate time to sleep for having a fixed frame rate. yield = (int)(FRAME_TIME_MS - (s3eTimerGetMs() - frame_start_time)); if (yield < 0) yield = 0; // Sleep to allow the OS to process events etc. s3eDeviceYield(yield); } //Terminate modules being used delete g_Input; delete g_pSceneManager; delete g_pResources; Iw2DTerminate(); // Return return 0; }
int main() { Iw2DInit(); image1 = Iw2DCreateImage("image1.png"); image2 = Iw2DCreateImage("image2.png"); while (!s3eDeviceCheckQuitRequest()) { // Transition #1 // Fade in from black Iw2DSurfaceClear(0xff000000); Transitions2D::CaptureStartScreen(); DrawOnRed(); Transitions2D::CaptureEndScreen(); Transitions2D::Fade(); s3eDeviceYield(1000); if (s3eDeviceCheckQuitRequest()) break; // Transition #2 // Cross fade from red image to blue image DrawOnRed(); Transitions2D::CaptureStartScreen(); DrawOnBlue(); Transitions2D::CaptureEndScreen(); Transitions2D::Fade(); s3eDeviceYield(1000); if (s3eDeviceCheckQuitRequest()) break; // Transition #3 // Slide left DrawOnBlue(); Transitions2D::CaptureStartScreen(); DrawOnRed(); Transitions2D::CaptureEndScreen(); Transitions2D::SlideLeft(); s3eDeviceYield(1000); if (s3eDeviceCheckQuitRequest()) break; // Transition #4 // Slide right DrawOnRed(); Transitions2D::CaptureStartScreen(); DrawOnBlue(); Transitions2D::CaptureEndScreen(); Transitions2D::SlideRight(); s3eDeviceYield(1000); if (s3eDeviceCheckQuitRequest()) break; // Transition #5 // Slide up DrawOnBlue(); Transitions2D::CaptureStartScreen(); DrawOnRed(); Transitions2D::CaptureEndScreen(); Transitions2D::SlideUp(); s3eDeviceYield(1000); if (s3eDeviceCheckQuitRequest()) break; // Transition #6 // Slide down DrawOnRed(); Transitions2D::CaptureStartScreen(); DrawOnBlue(); Transitions2D::CaptureEndScreen(); Transitions2D::SlideDown(); s3eDeviceYield(1000); if (s3eDeviceCheckQuitRequest()) break; // Transition #7 // Fade out to black DrawOnBlue(); Transitions2D::CaptureStartScreen(); Iw2DSurfaceClear(0xff000000); Transitions2D::CaptureEndScreen(); Transitions2D::Fade(); s3eDeviceYield(1000); } delete image1; delete image2; Iw2DTerminate(); }
int main(){ //Init the 2D gfx system Iw2DInit(); Input * g_pInput = new Input(); ResourceManager * g_ResManager = new ResourceManager(); Physics * g_Physics = new Physics(*g_ResManager); Animator * g_Animator = new Animator(*g_ResManager); SpaceShip * spaceship = new SpaceShip(100, 100, -PI/2); Enemy * enemy = new Enemy(400, 100, 0); spaceship->name = "spaceship"; g_ResManager->addEntity(*spaceship); g_ResManager->addEntity(*enemy); int16 counter = 0; int16 speed = 5; //Loop forever, until OS interupt while(!s3eDeviceCheckQuitRequest()){ //Clear the drawing surface Iw2DSurfaceClear(0xff222222); g_pInput->update(); spaceship->vec.x = 0; spaceship->vec.y = 0; if(g_pInput->isKeyDown(s3eKeyRight)){ spaceship->vec.x += speed; } if(g_pInput->isKeyDown(s3eKeyLeft)){ spaceship->vec.x -= speed; } if(g_pInput->isKeyDown(s3eKeyUp)){ spaceship->vec.y -= speed; } if(g_pInput->isKeyDown(s3eKeyDown)){ spaceship->vec.y += speed; } if(g_pInput->isKeyDown(s3eKeySpace)){ if(++counter % 2 == 0){ Bullet * bullet = new Bullet(spaceship->pos.x +spaceship->size.x + 15, spaceship->pos.y + 0.5*spaceship->size.y - 2, -PI/2); bullet->vec.x = 8; bullet->name = "bullet"; g_ResManager->addEntity(*bullet); } } g_Physics->update(); g_Animator->update(); //Show drawing surface Iw2DSurfaceShow(); //Yield to the OS s3eDeviceYield(0); } delete g_ResManager; delete g_pInput; delete g_Physics; delete g_Animator; Iw2DTerminate(); return 0; }
int main() { // Initialise the 2D graphics system Iw2DInit(); // Create an image from a PNG file CIw2DImage* image = Iw2DCreateImage("textures/Tiles.png"); //Avatar bits AnimationData testData; testData.animationName = "Up"; testData.animationPosition = 0; testData.frameHeight = 64; testData.frameWidth = 32; testData.numberOfFrames = 4; AnimationData testData2; testData2.animationName = "Right"; testData2.animationPosition = 64; testData2.frameHeight = 64; testData2.frameWidth = 32; testData2.numberOfFrames = 4; Animation* animation = new Animation("textures/AvatarTest.png",testData); Animation* animation2 = new Animation("textures/AvatarTest.png",testData2); s3eFile* file = s3eFileOpen("tilemaps/tilemapdemo.json", "rb"); int len = s3eFileGetSize(file); char* rawTileJSON = new char[len]; if (file != NULL) { if (s3eFileRead(rawTileJSON, len, 1, file) != 1) { s3eFileGetError(); s3eDebugOutputString(s3eFileGetErrorString()); } s3eFileClose(file); } else { s3eFileGetError(); s3eDebugOutputString(s3eFileGetErrorString()); } cJSON *root = cJSON_Parse(rawTileJSON); int gridHeight = cJSON_GetObjectItem(root,"height")->valueint; int gridWidth = cJSON_GetObjectItem(root,"width")->valueint; int tileWidth = cJSON_GetObjectItem(root,"tileheight")->valueint; int tileHeight = cJSON_GetObjectItem(root,"tilewidth")->valueint; cJSON *layers = cJSON_GetObjectItem(root,"layers"); cJSON *tileData; int i; for (i = 0; i<cJSON_GetArraySize(layers); i++) { cJSON *layer = cJSON_GetArrayItem(layers,i); tileData = cJSON_GetObjectItem(layer,"data"); } // Loop forever, until the user or the OS performs some action to quit the app while (!s3eDeviceCheckQuitRequest()) { // Clear the drawing surface Iw2DSurfaceClear(0xff000000); int x,y,tileIndex,tileType; for( y = 0; y < gridHeight; y++) { for(x = 0; x < gridWidth; x++) { tileIndex = (y * gridWidth) + x; tileType = cJSON_GetArrayItem(tileData,tileIndex)->valueint -1; // Draw an image Iw2DDrawImageRegion(image, CIwFVec2(x*tileWidth,y*tileHeight),CIwFVec2(tileWidth,tileHeight),CIwFVec2(tileType*tileWidth,0),CIwFVec2(tileWidth,tileHeight)); } } animation->render(50,50); animation2->render(150,200); // Show the drawing surface Iw2DSurfaceShow(); // Yield to the OS s3eDeviceYield(0); } cJSON_Delete(root); // Clean-up delete rawTileJSON; delete image; delete animation; delete animation2; Iw2DTerminate(); return 0; }