⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 menu.cpp

📁 SDL-Ball这款经典的弹球游戏克隆自arkanoid、dxball、breakout
💻 CPP
📖 第 1 页 / 共 2 页
字号:
      else        glCallList(dl+1);        glBindTexture(GL_TEXTURE_2D, tex[15].prop.texture);      glCallList(dl+3);        //sound      glTranslatef(0.0,-0.22,0.0f);      if(var.menuItem==5)        glCallList(dl+2);      else        glCallList(dl+1);        glBindTexture(GL_TEXTURE_2D, tex[16].prop.texture);      glCallList(dl+3);        if(var.menuPressed)      {        switch(var.menuItem)        {          case 1:            var.menu=1;            break;          case 6:            var.menu=3;            break;          case 5:            var.menu=4;            break;        }        var.menuPressed=0;      }      var.menuNumItems=6;    } else if(var.menu==3)    {      //Video options      glLoadIdentity();      glTranslatef(0.0, 0.54,-3.0f);      glCallList(dl+4);            glBindTexture(GL_TEXTURE_2D, tex[17].prop.texture);      glCallList(dl+3);            //Toggle      glTranslatef(0.0,-0.22,0.0f);      if(var.menuItem==6)        glCallList(dl+2);      else        glCallList(dl+1);      glBindTexture(GL_TEXTURE_2D, tex[18].prop.texture);      glCallList(dl+3);              //Eyecandy      glTranslatef(0.0,-0.22,0.0f);      if(var.menuItem==5)        glCallList(dl+2);      else        glCallList(dl+1);      glBindTexture(GL_TEXTURE_2D, tex[19].prop.texture);      glCallList(dl+3);            //1600      glTranslatef(0.0,-0.22,0.0f);      if(var.menuItem==4)        glCallList(dl+2);      else        glCallList(dl+1);      glBindTexture(GL_TEXTURE_2D, tex[20].prop.texture);      glCallList(dl+3);            //1024      glTranslatef(0.0,-0.22,0.0f);      if(var.menuItem==3)        glCallList(dl+2);      else        glCallList(dl+1);      glBindTexture(GL_TEXTURE_2D, tex[21].prop.texture);      glCallList(dl+3);            //background      glTranslatef(0.0,-0.22,0.0f);      if(var.menuItem==2)        glCallList(dl+2);      else        glCallList(dl+1);      glBindTexture(GL_TEXTURE_2D, tex[22].prop.texture);      glCallList(dl+3);        //Back      glTranslatef(0.0,-0.22,0.0f);      if(var.menuItem==1)        glCallList(dl+2);      else        glCallList(dl+1);      glBindTexture(GL_TEXTURE_2D, tex[32].prop.texture);      glCallList(dl+3);            if(var.menuPressed)      {        switch(var.menuItem)        {          case 1:            var.menu=2;            break;          case 2:            if(!setting.showBg)              setting.showBg=1;              else              setting.showBg=0;            writeSettings();            break;          case 3:            setting.resx = 1024;            setting.resy = 768;            initScreen();            writeSettings();            break;          case 4:            setting.resx = 1600;            setting.resy = 1200;            initScreen();            writeSettings();            break;          case 5:            if(setting.eyeCandy)              setting.eyeCandy=0;              else              setting.eyeCandy=1;            writeSettings();            break;          case 6:            if(setting.fullscreen)              setting.fullscreen=0;              else              setting.fullscreen=1;            initScreen();            writeSettings();            break;        }        var.menuPressed=0;      }            var.menuNumItems=6;    } else if(var.menu==4)    {      //Audio      glLoadIdentity();      glTranslatef(0.0, 0.54,-3.0f);      glCallList(dl+4);      glBindTexture(GL_TEXTURE_2D, tex[23].prop.texture);      glCallList(dl+3);        //Sound on      glTranslatef(0.0,-0.22,0.0f);      if(var.menuItem==6)        glCallList(dl+2);      else        glCallList(dl+1);      glBindTexture(GL_TEXTURE_2D, tex[24].prop.texture);      glCallList(dl+3);        //Sound off      glTranslatef(0.0,-0.22,0.0f);      if(var.menuItem==5)        glCallList(dl+2);      else        glCallList(dl+1);      glBindTexture(GL_TEXTURE_2D, tex[25].prop.texture);      glCallList(dl+3);              //Back      glTranslatef(0.0,-0.88,0.0f);      if(var.menuItem==1)        glCallList(dl+2);      else        glCallList(dl+1);      glBindTexture(GL_TEXTURE_2D, tex[26].prop.texture);      glCallList(dl+3);            if(var.menuPressed)      {        switch(var.menuItem)        {          case 1:            var.menu=2;            break;          case 5:            setting.sound=0;            initSound();            break;          case 6:            setting.sound=1;            initSound();            break;          }        var.menuPressed=0;      }            var.menuNumItems=7;            } else if(var.menu==5)    {      //New game?      glLoadIdentity();      glTranslatef(0.0, 0.54,-3.0f);      glCallList(dl+4);      glBindTexture(GL_TEXTURE_2D, tex[28].prop.texture);      glCallList(dl+3);                //Easy      glTranslatef(0.0,-0.22,0.0f);      if(var.menuItem==6)        glCallList(dl+2);      else        glCallList(dl+1);      glBindTexture(GL_TEXTURE_2D, tex[29].prop.texture);      glCallList(dl+3);            //Normal      glTranslatef(0.0,-0.22,0.0f);      if(var.menuItem==5)        glCallList(dl+2);      else        glCallList(dl+1);      glBindTexture(GL_TEXTURE_2D, tex[30].prop.texture);      glCallList(dl+3);        //Back      glTranslatef(0.0,-0.88,0.0f);      if(var.menuItem==1)        glCallList(dl+2);      else        glCallList(dl+1);      glBindTexture(GL_TEXTURE_2D, tex[32].prop.texture);      glCallList(dl+3);        if(var.menuPressed)      {        switch(var.menuItem)        {          case 1:            var.menu=1;            break;          case 5: //New Game, Normal            player.difficulty=1;            resumeGame();            initNewGame();            break;          case 6: //New game, easy            player.difficulty=0;            resumeGame();            initNewGame();            break;          }        var.menuPressed=0;      }            var.menuNumItems=7;    } else if(var.menu==6)    {      //Exit      glLoadIdentity();      glTranslatef(0.0, 0.54,-3.0f);      glCallList(dl+2);      glBindTexture(GL_TEXTURE_2D, tex[11].prop.texture);      glCallList(dl+3);            //Yes      glTranslatef(0.0,-0.44,0.0f);      if(var.menuItem==5)        glCallList(dl+2);      else        glCallList(dl+1);      glBindTexture(GL_TEXTURE_2D, tex[12].prop.texture);      glCallList(dl+3);        //Noes!      glTranslatef(0.0,-0.22,0.0f);      if(var.menuItem==4)        glCallList(dl+2);      else        glCallList(dl+1);      glBindTexture(GL_TEXTURE_2D, tex[13].prop.texture);      glCallList(dl+3);              if(var.menuPressed)      {        switch(var.menuItem)        {          case 4: //no            var.menu=1;            break;          case 5: //Yes            var.quit=1;            break;          }        var.menuPressed=0;      }      var.menuNumItems=5;          } else if(var.menu==7) // highscores    {      //Highscores      glLoadIdentity();      glTranslatef(0.0, 0.54,-3.0f);      if(var.menuItem==7)        glCallList(dl+2);        else        glCallList(dl+4);              glBindTexture(GL_TEXTURE_2D, tex[6].prop.texture);      glCallList(dl+3);      int i;            glTranslatef(0.0, -0.75, 0.0f);      glBindTexture(GL_TEXTURE_2D, tex[33].prop.texture);      glEnable(GL_TEXTURE_2D);      glColor4f(1.0,1.0,1.0,1.0);      glBegin( GL_QUADS );        glTexCoord2f( 0.0, 0.0 ); glVertex3f(  -0.8, 0.63, 0.0 );        glTexCoord2f( 1.0, 0.0 ); glVertex3f(   0.8, 0.63, 0.0 );        glTexCoord2f( 1.0, 1.0 ); glVertex3f(   0.8,-0.63, 0.0 );        glTexCoord2f( 0.0, 1.0 ); glVertex3f(  -0.8,-0.63, 0.0 );      glEnd( );            glLoadIdentity();      glTranslatef(0.0, 0.43,-3.0f);      for(i=0; i < 20; i++)      {        glTranslatef(0.0, -0.06, 0.0);        glEnable(GL_TEXTURE_2D);        glColor4f(1.0,1.0,1.0,1.0);        glBindTexture(GL_TEXTURE_2D, texHighScore[i]);        glBegin( GL_QUADS );          glTexCoord2f(-0.01f, 0.01525f); glVertex3f(  -0.78, 0.03, 0.0 );          glTexCoord2f(0.99f,0.01525f); glVertex3f(   0.78, 0.03, 0.0 );          glTexCoord2f(0.99f,0.04); glVertex3f(   0.78,-0.03, 0.0 );          glTexCoord2f(-0.01f,0.04); glVertex3f(  -0.78,-0.03, 0.0 );        glEnd( );       }        if(var.menuPressed)      {        switch(var.menuItem)        {          case 7: //Yes            var.menu=1;            break;        }        var.menuPressed=0;      }    }  }};

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -