コード例 #1
0
  public void nextPanel(TowerDefense_TransData t) {
    removeAll();
    TowerDefenseDataBase d = new TowerDefenseDataBase();
    d.init();

    for (Integer i = 0; i < t.getSize(); ++i) {
      String temp =
          d.searchImage(
              t.TowerDefense_TransArray[i].getId(), t.TowerDefense_TransArray[i].getAction());
      PokemonButton b = new PokemonButton(temp, temp, t.TowerDefense_TransArray[i].getId());
      b.addActionListener(
          new PokemonButtonListener(
              t.TowerDefense_TransArray[i].getId(), t.TowerDefense_TransArray[i].getLife()));
      b.setBounds(
          t.TowerDefense_TransArray[i].getX() - 14,
          t.TowerDefense_TransArray[i].getY() - 21,
          MainFrame.ButtonSize,
          MainFrame.ButtonSize);
      add(b);
      Units obj = d.searchUnit(t.TowerDefense_TransArray[i].getId());
      Integer LifeRatio = 10 * t.TowerDefense_TransArray[i].getLife() / obj.MaxHP;
      JLabel LifeBar = new JLabel(new ImageIcon("res/HP/blood-" + LifeRatio.toString() + ".png"));
      LifeBar.setBounds(
          t.TowerDefense_TransArray[i].getX() - 14,
          t.TowerDefense_TransArray[i].getY() - 28,
          20,
          3);
      add(LifeBar);
      if (InfoShown && t.TowerDefense_TransArray[i].getId() == InfoID) {
        if (t.TowerDefense_TransArray[i].getLife() <= 0) InfoShown = false;
        pp.displayInfo(InfoID, t.TowerDefense_TransArray[i].getLife());
      }
    }

    if (!InfoShown) {
      pp.refreshInfo();
    }

    for (Integer i = 0; i < t.getSize(); ++i) {
      Units obj = d.searchUnit(t.TowerDefense_TransArray[i].getId());
      Integer LifeRatio = (int) Math.ceil(10 * t.TowerDefense_TransArray[i].getLife() / obj.MaxHP);
      JLabel LifeBar = new JLabel(new ImageIcon("res/HP/blood-" + LifeRatio.toString() + ".png"));
      LifeBar.setBounds(
          t.TowerDefense_TransArray[i].getX() - 14,
          t.TowerDefense_TransArray[i].getY() - 28,
          20,
          3);
      add(LifeBar);
    }

    repaint();
  }