亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? gamescreen.java

?? 大量j2me源代碼
?? JAVA
?? 第 1 頁 / 共 2 頁
字號:
               {
                  synchronized (this)
                  {
                     wait(MS_PER_FRAME - timeSinceStart);
                  }
               }
               else
                  Thread.yield();

            }
            else
            {
               // just hang around sleeping if we are paused
               try
               {
                  Thread.sleep(100);
               }
               catch (java.lang.InterruptedException e)
               {
               }
            }
         }

         // fall back to menu
         theMidlet.activateMenu();
      }
      catch (Exception e)
      {
         System.out.println("App exception: " + e);
         e.printStackTrace();
      }
   }

   public void loadGame()
   {
      world.loadLevel();
      setState(STARTING_UP);
   }

   public void startNewGame()
   {
      setLives(0);
      score = 0;
      world.setLevelNum(1);
      world.generateLevel();
      setState(STARTING_UP);
      resetPanView();
   }

   public void setLives(int lives)
   {
      this.lives = lives;
   }

   public int getLives()
   {
      return lives;
   }

   public void restart()
   {
      world.restart();
      setState(STARTING_UP);
      resetPanView();
   }

   public void notifyLevelOver()
   {
      setState(STARTING_UP);
      world.setLevelNum(world.getLevelNum() + 1);
      world.clear();
      world.generateLevel();
   }

   public void notifyShipDied(Ship ship)
   {
      if (ship == playerShip)
      {
         setLives(lives - 1);
         if (lives < 1)
         {
            setState(GAME_OVER);
            world.removeSavedGame();
         }
         else
         {
            world.saveLevel(); // resave to store lives count
            world.restart();
            setState(DYING);
         }
      }
   }

   private final void updateEnergyBar(int barFill, boolean showRed)
   {
      Graphics g = energyBarImage.getGraphics();
      g.setColor(0);
      g.fillRect(0, 0, energyBarImage.getWidth(), energyBarImage.getHeight());

      g.setColor(0xaaaaaa);
      g.drawRect(0, 0, barWidth, 6);

      // show red bar if under half
      if (showRed)
         g.setColor(0xcc2222);
      else
         g.setColor(0x22cc22);

      g.fillRect(1, 1, barFill, 5);
   }

   public void resetPanView()
   {
      currentViewPosX = playerShip.getX() - 50;
      currentViewPosY = playerShip.getY() - 50;
   }

   private final void renderWorld(Graphics graphics)
   {
      // clear the background
      graphics.setColor(0);
      graphics.fillRect(0, 0, screenWidth, screenHeight);

      world.setView(currentViewPosX-halfScreenWidth, currentViewPosY-halfScreenHeight);
      //world.setView(playerShip.getCenterX() - halfScreenWidth, playerShip.getCenterY() - halfScreenHeight);
      world.render(graphics);

      // draw the playerShip energy bar
      int p = playerShip.getEnergyMax() / barWidth;
      int barFill = playerShip.getEnergy() / p;
      if (lastDrawnBarValue != barFill)
      {
         updateEnergyBar(barFill, playerShip.getEnergy() > 0 &&
                                  playerShip.getEnergyMax() / playerShip.getEnergy() > 1);
         lastDrawnBarValue = barFill;
      }
      graphics.drawImage(energyBarImage, 6, screenHeight - 12, Tools.GRAPHICS_TOP_LEFT);

      // Draw the score.
      graphics.setColor(0x00ffffff);
      graphics.setFont(defaultFont);
      graphics.drawString("" + score, getWidth()-2, 2, Graphics.TOP|Graphics.RIGHT);

      //#ifdef debug
      // draw the CPS
      graphics.setColor(0x00ffcc66);
      graphics.setFont(defaultFont);
      graphics.drawString("" + cps, getWidth() - 30, getHeight() - defaultFontHeight, Tools.GRAPHICS_TOP_LEFT);
      //#endif

      //graphics.setFont(defaultFont);
      //graphics.setColor(0x00ffcc66);
      //graphics.drawString("x=" + playerShip.getX() + " y=" + playerShip.getY() + " tx=" +
      //						  world.getTileAtX(playerShip.getX()) + " ty=" + world.getTileAtY(playerShip.getY()),
      //						  0, 0, Tools.GRAPHICS_TOP_LEFT);

      if (state == STARTING_UP)
      {
         drawGroovyText(graphics, "LEVEL " + world.getLevelNum(), halfScreenWidth, halfScreenHeight + defaultFontHeight);
         drawGroovyText(graphics, "GET READY...", halfScreenWidth, halfScreenHeight + (defaultFontHeight * 2) + 3);

         // draw a ship for every life they have left
         for (int i = 0; i < lives - 1; i++)
         {
            Ship.getYellowShipImageSet().draw(graphics, 12, 0,
                                              ((screenWidth - ((lives - 1) * 18)) / 2) + (i * 18),
                                              halfScreenHeight + (defaultFontHeight * 3) + 4);
         }
      }

      if (state == GAME_OVER)
         drawGroovyText(graphics, "GAME OVER", getWidth() / 2, getHeight() / 2 + defaultFontHeight);
   }

   private void drawGroovyText(Graphics graphics, String text, int x, int y)
   {
      graphics.setFont(defaultFont);
      graphics.setColor(0xffcc66);
      graphics.drawString(text, x + 1, y, Graphics.HCENTER | Graphics.TOP);
      graphics.drawString(text, x, y + 1, Graphics.HCENTER | Graphics.TOP);
      graphics.drawString(text, x - 1, y, Graphics.HCENTER | Graphics.TOP);
      graphics.drawString(text, x, y - 1, Graphics.HCENTER | Graphics.TOP);
      graphics.setColor(0x000000);
      graphics.drawString(text, x, y, Graphics.HCENTER | Graphics.TOP);
   }

   protected void paint(Graphics graphics)
   {
      if (!isDoubleBuffered())
      {
         renderWorld(osg);
         graphics.drawImage(osb, 0, 0, Tools.GRAPHICS_TOP_LEFT);
      }
      else
      {
         renderWorld(graphics);
      }
   }

   protected void keyPressed(int keyCode)
   {
      if (state != PLAYING) return;

      int action = getGameAction(keyCode);
      if (action == RIGHT || keyCode == rightKeyCode)
         playerShip.setSpin(-23);
      if (action == LEFT || keyCode == leftKeyCode)
         playerShip.setSpin(23);

      if (!StarAssault.getApp().isOptionAutoFire())
      {
         if (action == GAME_A || keyCode == fireKeyCode || action == UP)
            playerShip.setFiring(true);
      }

      //#ifdef nokia
      if (keyCode == FullCanvas.KEY_SOFTKEY1 || keyCode == FullCanvas.KEY_SOFTKEY2)
      {
         pause();
         theMidlet.activateMenu();
      }
      //#endif
   }

   protected void keyReleased(int keyCode)
   {
      if (state != PLAYING) return;

      int action = getGameAction(keyCode);
      if (action == RIGHT || keyCode == rightKeyCode)
         playerShip.setSpin(0);
      if (action == LEFT || keyCode == leftKeyCode)
         playerShip.setSpin(0);
      if (!StarAssault.getApp().isOptionAutoFire())
      {
         if (action == GAME_A || keyCode == fireKeyCode || action == UP)
            playerShip.setFiring(false);
      }
   }

   public void pause()
   {
      statePriorToPause = state;
      setState(PAUSED);
   }

   public void resume()
   {
      if (state != PAUSED) return;

      // special case: stop firing if they've turned off autofire
      // we also turn off things they may have left on when they paused
      if (!StarAssault.getApp().isOptionAutoFire())
      {
         playerShip.setFiring(false);
         playerShip.setSpin(0);
      }

      setState(statePriorToPause);
   }

   //#ifndef nokia
   //# public void commandAction(Command c, Displayable d)
   //# {
      //# if (c == menu)
      //# {
         //# pause();
         //# theMidlet.activateMenu();
      //# }
   //# }
   //#endif
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
蜜臀av一区二区三区| 日韩欧美国产一区在线观看| 视频一区在线播放| 舔着乳尖日韩一区| 麻豆精品国产91久久久久久| 久热成人在线视频| 国产91露脸合集magnet| 国产激情一区二区三区四区| 99久久伊人精品| 欧美精品自拍偷拍| 最新国产精品久久精品| 亚洲欧美成人一区二区三区| 亚洲一区二区三区四区在线观看 | 久久国产精品99久久人人澡| 久久99精品久久久久久国产越南 | 中文字幕免费不卡| 一区二区三区小说| 久99久精品视频免费观看| www.av亚洲| 日韩精品中文字幕在线一区| 国产精品免费视频一区| 青青草伊人久久| av不卡在线播放| 国产三区在线成人av| 香蕉乱码成人久久天堂爱免费| 国产乱色国产精品免费视频| 在线成人av影院| 亚洲欧洲成人精品av97| 久久99精品久久久| 欧美日韩在线直播| 亚洲欧美欧美一区二区三区| 国模无码大尺度一区二区三区| 欧美中文字幕久久| 亚洲欧洲日韩在线| 91在线视频网址| 国产精品免费免费| 97久久超碰国产精品| 中文字幕欧美日韩一区| 国产美女久久久久| 精品处破学生在线二十三| 蜜桃91丨九色丨蝌蚪91桃色| 欧美亚洲动漫另类| 无码av免费一区二区三区试看| 91高清视频在线| 亚洲成av人片观看| 日韩精品中文字幕在线一区| 久久99久国产精品黄毛片色诱| 精品999在线播放| 国产一区二区三区日韩| 国产拍欧美日韩视频二区| 成人中文字幕电影| 国产精品家庭影院| 欧美日韩综合不卡| 紧缚捆绑精品一区二区| 国产精品久久久久久福利一牛影视| 成人午夜电影久久影院| 亚洲日本成人在线观看| 欧美精品在线观看播放| 国产一区二区三区蝌蚪| 成人欧美一区二区三区在线播放| 欧美性受xxxx黑人xyx性爽| 日本亚洲最大的色成网站www| 国产视频911| 欧美精品在线视频| 国产一区二三区好的| 综合自拍亚洲综合图不卡区| 日韩片之四级片| 欧洲中文字幕精品| 成人综合在线观看| 久久精品国产久精国产| 一区二区三区欧美日韩| 欧美激情在线一区二区三区| 欧美日韩国产中文| 色综合视频在线观看| 国产中文字幕一区| 午夜久久久久久久久| 久久国产乱子精品免费女| 亚洲男人的天堂网| 中文一区在线播放| 国产精品麻豆欧美日韩ww| 日韩欧美一区二区在线视频| 日本乱人伦aⅴ精品| 成人美女视频在线观看| 国产成人高清视频| 国产麻豆视频一区二区| 日本伊人色综合网| 国产一区在线不卡| 国产一区二区精品久久99| 一区二区三区影院| 亚洲与欧洲av电影| 亚洲国产成人高清精品| 五月婷婷综合网| 免费一区二区视频| 黄页视频在线91| 国产精品亚洲一区二区三区妖精| 人人精品人人爱| 狠狠色狠狠色综合| jlzzjlzz亚洲女人18| 欧美色区777第一页| 欧美日本一道本| 国产三级精品视频| 亚洲一区视频在线观看视频| 蜜桃精品在线观看| 欧美性猛交xxxx黑人交| 91.com视频| 日本一区二区三区dvd视频在线| 中文幕一区二区三区久久蜜桃| 亚洲视频一二区| 经典三级视频一区| 91香蕉视频污在线| 精品日韩一区二区三区免费视频| 久久久久久久久久久99999| 亚洲欧洲综合另类| 精品亚洲成a人在线观看| 91电影在线观看| 国产日韩欧美综合在线| 美脚の诱脚舐め脚责91| 欧美自拍偷拍一区| 成人免费一区二区三区视频 | 91国偷自产一区二区三区观看| 91精品在线免费观看| 亚洲免费观看视频| 国产91富婆露脸刺激对白| 日韩欧美中文字幕公布| 一个色妞综合视频在线观看| 成人av免费在线观看| xnxx国产精品| 美国一区二区三区在线播放| 欧美日韩一区二区在线观看视频 | 国产91精品精华液一区二区三区| 日韩三级视频在线看| 亚洲123区在线观看| 欧美日韩久久不卡| 午夜久久电影网| 日韩精品最新网址| 国产一区二区精品在线观看| 久久九九久久九九| 蜜桃久久久久久| 国产日本欧洲亚洲| av网站一区二区三区| 亚洲色图丝袜美腿| 在线观看欧美精品| 久久精品国产亚洲aⅴ| 91福利视频久久久久| 精品黑人一区二区三区久久| 97精品国产露脸对白| 国产自产高清不卡| 美女视频第一区二区三区免费观看网站| 中文字幕欧美国产| 久久一二三国产| 日韩免费高清电影| 宅男噜噜噜66一区二区66| 久久国产精品一区二区| 一区二区视频免费在线观看| 欧美日产在线观看| 国产精品资源网站| 亚洲一区二区三区四区五区中文| 亚洲精品一区二区三区蜜桃下载| 97se亚洲国产综合自在线| 久久99国产精品麻豆| 国产精品久久久久影视| 欧美精品一区在线观看| 欧美日韩专区在线| 92国产精品观看| av亚洲精华国产精华精| 国产一区二区美女| 久久99国产精品免费| 强制捆绑调教一区二区| 亚洲九九爱视频| 亚洲欧美在线aaa| 国产精品第13页| 中文字幕中文字幕一区二区| 欧美日韩不卡在线| 欧洲精品视频在线观看| 在线亚洲免费视频| 972aa.com艺术欧美| 91麻豆国产香蕉久久精品| 不卡的电视剧免费网站有什么| 国产在线精品不卡| 成人性生交大合| 91麻豆免费观看| 欧美日韩黄色一区二区| 欧美一级在线视频| 精品美女一区二区三区| 国产欧美一区二区在线| 国产日韩视频一区二区三区| 亚洲欧洲av在线| 午夜精品影院在线观看| 久久国产日韩欧美精品| 国产麻豆视频精品| 不卡av在线免费观看| 色妞www精品视频| 欧美成人精品二区三区99精品| 久久一日本道色综合| 亚洲图片欧美视频| 激情久久久久久久久久久久久久久久| 成人爽a毛片一区二区免费| 欧美午夜一区二区| 精品久久免费看| 亚洲v日本v欧美v久久精品|