亚洲欧美第一页_禁久久精品乱码_粉嫩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一区二区三区免费野_久草精品视频
色哟哟日韩精品| 在线不卡免费欧美| 麻豆极品一区二区三区| 亚洲自拍另类综合| 2024国产精品| 欧美午夜片在线看| 成人午夜激情影院| 免费在线观看成人| 一区二区在线观看av| 国产偷v国产偷v亚洲高清| 欧美日韩国产天堂| 99久久精品免费看| 国产精品影视网| 青娱乐精品视频在线| 亚洲乱码中文字幕综合| 久久精品夜夜夜夜久久| 欧美精品777| 日本伦理一区二区| 白白色 亚洲乱淫| 国产露脸91国语对白| 日本强好片久久久久久aaa| 亚洲一区二区三区激情| 亚洲人成网站精品片在线观看| 国产婷婷色一区二区三区在线| 91麻豆精品国产91久久久 | 欧美怡红院视频| 国产成人aaa| 国产一本一道久久香蕉| 久久国产免费看| 免费成人你懂的| 首页国产欧美久久| 天涯成人国产亚洲精品一区av| 亚洲主播在线播放| 亚洲国产人成综合网站| 亚洲一区二区三区四区中文字幕| 亚洲情趣在线观看| 亚洲激情一二三区| 亚洲免费av观看| 亚洲黄网站在线观看| 伊人性伊人情综合网| 亚洲日本va午夜在线电影| 国产精品国产三级国产普通话蜜臀| 国产人妖乱国产精品人妖| 久久精品水蜜桃av综合天堂| 国产亚洲1区2区3区| 国产人久久人人人人爽| 国产精品护士白丝一区av| 中文字幕一区在线观看视频| 亚洲色图制服诱惑 | 成人黄页毛片网站| 97精品国产97久久久久久久久久久久 | 欧美一区二区成人| 欧美一区二区三区视频在线观看| 日韩欧美黄色影院| 久久一区二区三区四区| 欧美韩国日本综合| 亚洲色图欧美激情| 亚洲国产裸拍裸体视频在线观看乱了 | 国产精品色在线| 亚洲欧洲国产日韩| 亚洲国产精品久久一线不卡| 日本aⅴ免费视频一区二区三区| 美国毛片一区二区三区| 国产盗摄一区二区| 色综合久久久久综合体桃花网| 色拍拍在线精品视频8848| 欧美精品777| 国产网站一区二区三区| 亚洲精品国产品国语在线app| 亚洲成人激情自拍| 国产精品正在播放| 99精品久久久久久| 欧美日韩精品一区二区三区| 日韩午夜激情免费电影| 国产亚洲欧美激情| 一区二区三区不卡视频| 蜜桃一区二区三区在线| 国产传媒日韩欧美成人| 色婷婷久久一区二区三区麻豆| 欧美一级高清大全免费观看| 欧美一卡在线观看| 国产精品你懂的| 91丨九色丨蝌蚪富婆spa| 综合激情成人伊人| 亚洲精品在线电影| 国产一区二区三区日韩| 亚洲一区欧美一区| 久久久亚洲国产美女国产盗摄 | 99视频有精品| 久久国产精品免费| 性做久久久久久久久| 国产精品国产三级国产三级人妇 | 欧美丝袜丝交足nylons图片| 丁香另类激情小说| 国模套图日韩精品一区二区 | 国产精品欧美极品| 精品久久久久久久久久久久包黑料 | 国产一区二三区好的| 亚洲一区二区偷拍精品| 国产精品网站一区| 久久久精品天堂| 欧美一二三在线| 欧美日韩精品综合在线| 色国产精品一区在线观看| 成人av网站在线| 成人av综合一区| 国产精品白丝av| 高清shemale亚洲人妖| 九九热在线视频观看这里只有精品| 五月天丁香久久| 视频在线观看国产精品| 午夜激情一区二区| 性做久久久久久| 亚洲成人7777| 五月天亚洲精品| 美女www一区二区| 久久99精品国产| 国产一区二区三区免费| 国产乱人伦偷精品视频不卡| 国产一区久久久| 东方aⅴ免费观看久久av| 成人国产一区二区三区精品| 不卡电影一区二区三区| 99国产欧美久久久精品| 在线视频欧美区| 欧美精品亚洲二区| 欧美一级视频精品观看| 欧美精品一区二区三区很污很色的| 精品日韩99亚洲| 亚洲国产精品成人综合| 综合分类小说区另类春色亚洲小说欧美 | 欧美电影免费观看高清完整版| 久久在线观看免费| 中文字幕成人av| 亚洲最色的网站| 秋霞电影网一区二区| 国产美女av一区二区三区| 成人h动漫精品一区二区| 色呦呦日韩精品| 欧美日韩国产123区| 精品成人一区二区三区四区| 亚洲国产精品ⅴa在线观看| 亚洲精品视频免费看| 免费成人小视频| 97成人超碰视| 欧美一级精品大片| 欧美国产日产图区| 亚洲欧美激情小说另类| 麻豆精品国产传媒mv男同 | 国产精品色哟哟网站| 亚洲国产成人高清精品| 麻豆精品在线看| 91亚洲精品一区二区乱码| 欧美一区日韩一区| 国产精品久久久久影院| 午夜亚洲福利老司机| 国产99精品国产| 欧美日本免费一区二区三区| 欧美极品少妇xxxxⅹ高跟鞋 | 国产精品亚洲午夜一区二区三区 | 精品久久久影院| 一区二区三区在线高清| 国内精品国产三级国产a久久| 91免费看视频| 久久久国产午夜精品| 偷拍与自拍一区| 91丨国产丨九色丨pron| 精品美女被调教视频大全网站| 亚洲自拍偷拍九九九| 成人久久久精品乱码一区二区三区 | 久久精品一区二区| 五月天婷婷综合| 色综合久久99| 国产精品视频麻豆| 精品一区二区三区欧美| 91国产精品成人| 国产女人18水真多18精品一级做| 日韩影院在线观看| 欧美三级韩国三级日本一级| 亚洲欧美一区二区三区久本道91| 国产精品一级黄| 欧美不卡一区二区| 日韩成人一级大片| 欧美日高清视频| 亚洲国产精品天堂| 欧美午夜一区二区三区免费大片| 亚洲婷婷综合色高清在线| 国产精品综合视频| 久久综合999| 蜜臀av性久久久久蜜臀av麻豆| 欧美日韩国产天堂| 亚洲制服丝袜一区| 欧美中文字幕一区| 亚洲一区在线观看视频| 色综合欧美在线视频区| 亚洲男人天堂av网| 91九色02白丝porn| 亚洲精品国久久99热| 色嗨嗨av一区二区三区| 亚洲在线视频网站|