Exemple #1
0
  @Override
  public void show() {
    super.show();

    // retrieve the default table actor
    Table table = super.getTable();
    stage.clear();

    // atlas = new TextureAtlas(Gdx.files.internal("assets/data/uiskin.atlas"));
    // skin = new Skin(Gdx.files.internal("assets/data/uiskin.json"));

    Label label = new Label("Jamkhed", getSkin());
    Button bouton1 = new Button(getSkin());
    bouton1.add("Start Game");
    bouton1.addListener(
        new ChangeListener() {
          @Override
          public void changed(ChangeEvent event, Actor actor) {
            game.setScreen(game.getStartGameScreen());
            Gdx.app.log(Jamkhed.LOG, "Allez HOP ACTION");
          }
        });

    TextButton bouton2 = new TextButton("Options", getSkin());

    bouton2.addListener(
        new ChangeListener() {

          @Override
          public void changed(ChangeEvent event, Actor actor) {
            game.setScreen(new OptionsScreen(game));
            Gdx.app.log(Jamkhed.LOG, "Allez HOP Options");
          }
        });

    Button bouton3 = new Button(getSkin());
    bouton3.add("Hall Of Fame");
    bouton3.addListener(
        new ChangeListener() {
          @Override
          public void changed(ChangeEvent event, Actor actor) {

            Gdx.app.log(Jamkhed.LOG, "Allez HOP Classement");
          }
        });

    table.add(label).spaceBottom(20);
    table.row();
    table.add(bouton1).width(150).spaceBottom(10);
    table.row();
    table.add(bouton2).width(150).spaceBottom(10);
    table.row();
    table.add(bouton3).width(150);
    table.row();

    stage.addActor(table);
  }
 private void fillTable() {
   int i = 0;
   final int colorsPerRow = 2;
   for (Color c : cctrl.getUsableColors()) {
     Button bt = new Button(StyleHelper.getInstance().getDrawable("widgets/button"));
     ColorButton btn = new ColorButton(c);
     btn.addListener(new ColorButtonListener());
     bt.add(btn).size(60, 60).center();
     this.add(bt).size(76, 76).pad(6);
     i++;
     if (i % colorsPerRow == 0) {
       this.row();
     }
   }
 }
  public Button getLevelButton(int level) {
    Button button = new Button(skin);
    ButtonStyle style = button.getStyle();
    style.up = style.down = null;

    starTable = new Table();
    starTable.defaults().pad(2);
    // System.out.println("here");

    Label label = new Label(Integer.toString(level), skin);
    label.setFontScale(1f);
    label.setAlignment(Align.center);

    Label label2 = new Label("", skin);
    label2.setFontScale(1f);
    label2.setAlignment(Align.center);

    Label labelLocked = new Label("", skin);
    label2.setFontScale(1f);
    label2.setAlignment(Align.center);

    Label starsLabel = new Label("stadfrs", skin, "big-font");

    starsLabel.setFontScale(0.3f);
    // starsLabel.setPosition(12, -5);
    starsLabel.setAlignment(Align.bottom, Align.center);

    TextureRegion crystal;
    Texture tex = new Texture(Gdx.files.internal("images/hud.png"));

    crystal = new TextureRegion(tex, 80, 0, 16, 16);
    Image img = new Image(crystal);
    img.setScale(0.5f);
    // Stack the image and the label at the top of our button

    switch (level) {
      case 1:
        Table table = new Table();
        starsLabel.setText(game.getPreferencesManager().getLevelOneHighScore() + " / " + 30);
        table.add(starsLabel).padBottom(-30).padLeft(6).bottom();
        table.add(img).padBottom(-29).padLeft(4).bottom();
        // starsLabel.setPosition(100, 100);
        button.stack(new Image(skin.getDrawable("top")), label, table).expand().fill();
        game.manager.load("images/ropes.png", Texture.class);
        break;
      case 2:
        Table table2 = new Table();
        starsLabel.setText(game.getPreferencesManager().getLevelTwoHighScore() + " / " + 30);
        table2.add(starsLabel).padBottom(-30).padLeft(6).bottom();
        table2.add(img).padBottom(-29).padLeft(4).bottom();
        if (starsLevel1 == 0) {
          button
              .stack(new Image(skin.getDrawable("lockedlevel")), labelLocked, table2)
              .expand()
              .fill();

          // button.add(starsLabel);
        } else {
          button.stack(new Image(skin.getDrawable("top")), label, table2).expand().fill();
        }
        break;
      case 3:
        Table table3 = new Table();
        starsLabel.setText(game.getPreferencesManager().getLevelThreeHighScore() + " / " + 30);
        table3.add(starsLabel).padBottom(-30).padLeft(6).bottom();
        table3.add(img).padBottom(-29).padLeft(4).bottom();
        if (starsLevel2 == 0) {
          button
              .stack(new Image(skin.getDrawable("lockedlevel")), labelLocked, table3)
              .expand()
              .fill();

          // button.add(starsLabel);
        } else {
          button.stack(new Image(skin.getDrawable("top")), label, table3).expand().fill();
        }
        break;
      case 4:
        Table table4 = new Table();
        starsLabel.setText(game.getPreferencesManager().getLevelFourHighScore() + " / " + 30);
        table4.add(starsLabel).padBottom(-30).padLeft(6).bottom();
        table4.add(img).padBottom(-29).padLeft(4).bottom();
        if (starsLevel3 == 0) {
          button
              .stack(new Image(skin.getDrawable("lockedlevel")), labelLocked, table4)
              .expand()
              .fill();

          // button.add(starsLabel);
        } else {
          button.stack(new Image(skin.getDrawable("top")), label, table4).expand().fill();
        }
        break;
      case 5:
        Table table5 = new Table();
        starsLabel.setText(game.getPreferencesManager().getLevelFiveHighScore() + " / " + 35);
        table5.add(starsLabel).padBottom(-30).padLeft(6).bottom();
        table5.add(img).padBottom(-29).padLeft(4).bottom();
        if (starsLevel4 == 0) {
          button
              .stack(new Image(skin.getDrawable("lockedlevel")), labelLocked, table5)
              .expand()
              .fill();

        } else {
          button.stack(new Image(skin.getDrawable("top")), label, table5).expand().fill();
        }
        break;
      case 6:
        Table table6 = new Table();
        starsLabel.setText(game.getPreferencesManager().getLevelSixHighScore() + " / " + 35);
        table6.add(starsLabel).padBottom(-30).padLeft(6).bottom();
        table6.add(img).padBottom(-29).padLeft(4).bottom();
        if (starsLevel5 == 0) {
          button
              .stack(new Image(skin.getDrawable("lockedlevel")), labelLocked, table6)
              .expand()
              .fill();

        } else {
          button.stack(new Image(skin.getDrawable("top")), label, table6).expand().fill();
        }
        break;
      case 7:
        Table table7 = new Table();
        starsLabel.setText(game.getPreferencesManager().getLevelSevenHighScore() + " / " + 40);
        table7.add(starsLabel).padBottom(-30).padLeft(6).bottom();
        table7.add(img).padBottom(-29).padLeft(4).bottom();
        if (starsLevel6 == 0) {
          button
              .stack(new Image(skin.getDrawable("lockedlevel")), labelLocked, table7)
              .expand()
              .fill();

        } else {
          button.stack(new Image(skin.getDrawable("top")), label, table7).expand().fill();
        }
        break;
      case 8:
        Table table8 = new Table();
        starsLabel.setText(game.getPreferencesManager().getLevelEightHighScore() + " / " + 35);
        table8.add(starsLabel).padBottom(-30).padLeft(6).bottom();
        table8.add(img).padBottom(-29).padLeft(4).bottom();
        if (starsLevel7 == 0) {
          button
              .stack(new Image(skin.getDrawable("lockedlevel")), labelLocked, table8)
              .expand()
              .fill();

        } else {
          button.stack(new Image(skin.getDrawable("top")), label, table8).expand().fill();
        }
        break;
      case 9:
        Table table9 = new Table();
        starsLabel.setText(game.getPreferencesManager().getLevelNineHighScore() + " / " + 60);
        table9.add(starsLabel).padBottom(-30).padLeft(6).bottom();
        table9.add(img).padBottom(-29).padLeft(4).bottom();
        if (starsLevel8 == 0) {
          button
              .stack(new Image(skin.getDrawable("lockedlevel")), labelLocked, table9)
              .expand()
              .fill();
        } else {
          button.stack(new Image(skin.getDrawable("top")), label, table9).expand().fill();
        }
        break;
      case 10:
        Table table10 = new Table();
        starsLabel.setText(game.getPreferencesManager().getLevelTenHighScore() + " / " + 30);
        table10.add(starsLabel).padBottom(-30).padLeft(6).bottom();
        table10.add(img).padBottom(-29).padLeft(4).bottom();
        if (starsLevel9 == 0) {
          button
              .stack(new Image(skin.getDrawable("lockedlevel")), labelLocked, table10)
              .expand()
              .fill();

          // button.add(starsLabel);
        } else {
          button.stack(new Image(skin.getDrawable("top")), label, table10).expand().fill();
        }
        break;
      case 11:
        Table table11 = new Table();
        starsLabel.setText(game.getPreferencesManager().getLevelElevenHighScore() + " / " + 35);
        table11.add(starsLabel).padBottom(-30).padLeft(6).bottom();
        table11.add(img).padBottom(-29).padLeft(4).bottom();
        if (starsLevel10 == 0) {
          button
              .stack(new Image(skin.getDrawable("lockedlevel")), labelLocked, table11)
              .expand()
              .fill();

          // button.add(starsLabel);
        } else {
          button.stack(new Image(skin.getDrawable("top")), label, table11).expand().fill();
        }
        break;
      case 12:
        Table table12 = new Table();
        starsLabel.setText(game.getPreferencesManager().getLevelTwelveHighScore() + " / " + 30);
        table12.add(starsLabel).padBottom(-30).padLeft(6).bottom();
        table12.add(img).padBottom(-29).padLeft(4).bottom();
        if (starsLevel11 == 0) {
          button
              .stack(new Image(skin.getDrawable("lockedlevel")), labelLocked, table12)
              .expand()
              .fill();

          // button.add(starsLabel);
        } else {
          button.stack(new Image(skin.getDrawable("top")), label, table12).expand().fill();
        }
        break;
    }

    button.row();
    button.add(starTable).height(10);

    button.setName(Integer.toString(level));
    button.addListener(levelClickListener);

    int levelSel = Integer.parseInt(button.getName());

    switch (levelSel) {
      case 1:
        doStars(starsLevel1);
        break;
      case 2:
        doStars(starsLevel2);
        break;
      case 3:
        doStars(starsLevel3);
        break;
      case 4:
        doStars(starsLevel4);
        break;
      case 5:
        doStars(starsLevel5);
        break;
      case 6:
        doStars(starsLevel6);
        break;
      case 7:
        doStars(starsLevel7);
        break;
      case 8:
        doStars(starsLevel8);
        break;
      case 9:
        doStars(starsLevel9);
        break;
      case 10:
        doStars(starsLevel10);
        break;
      case 11:
        doStars(starsLevel11);
        break;
      case 12:
        doStars(starsLevel12);
        break;
      default:
        for (int star = 0; star < 3; star++) {
          if (-1 > star) {
            starTable.add(new Image(skin.getDrawable("star-filled"))).width(20).height(12);
          } else {
            starTable.add(new Image(skin.getDrawable("star-unfilled"))).width(20).height(12);
          }
        }
        break;
    }

    return button;
  }