Несколько растровых изображений в фиксированной области - PullRequest
2 голосов
/ 28 июня 2019

Я пытаюсь построить карточную игру, в которой карта добавляется игроку после каждого раунда. Чтобы выиграть матч, игрок должен удалить все карты из своей колоды. Однако я также нарисовал дополнительную кнопку для некоторых других целей. Проблема в том, что когда количество карточек стало большим, они прячутся за кнопками, как на картинке ниже.

enter image description here

Есть ли способ, с помощью которого я могу рисовать растровые изображения в фиксированной области? Нечто похожее на изображение ниже (выделенный прямоугольник за изображениями карты).

enter image description here

Ниже приведен мой код для рисования растровых изображений для одного игрока

private void setMainPlayer() {
    //    Log.d(TAG, "Inside Set Main Player Method");
    Card localcard = null;
    Bitmap localimage = null;
    int currentiteration = 0;
    int Card_Gap = Screen_Width / 10;
    int Down_Card_Gap = 0;
    int Down_Card_Gap_positive = 0;
    int Down_Card_Gap_negative = 0;
    playerList.get(0).sortBySuit();

    //  Log.d(TAG,"Main Player Deck size"+MainPlayer.Count());
    while (currentiteration < playerList.get(0).decksize()) {
        localcard = playerList.get(0).getCard(currentiteration);
        localcard.setCurrent_Y(Screen_Height - localcard.getImage(context, Card_Width, Card_Height).getHeight());
        playerList.get(0).setCurrentCard(localcard, currentiteration);
        currentiteration++;
        if (Down_Card_Gap >= 0) {
            Down_Card_Gap_positive = Down_Card_Gap;
            localcard.setCurrent_X(Screen_Center_X + Down_Card_Gap_positive);
            Down_Card_Gap += Card_Gap;
        } else {
            Down_Card_Gap_negative = Down_Card_Gap;
            localcard.setCurrent_X(Screen_Center_X + Down_Card_Gap_negative);
        }
        Down_Card_Gap *= -1;

    }


}

private void DrawMainPlayerDeck(Canvas canvas) {
    // Log.d(TAG, " Inside Draw Main Player Deck");
    Card localcard;
    int currentiteration = 0;
    while (currentiteration < playerList.get(0).decksize()) {
        localcard = playerList.get(0).getCard(currentiteration);
        canvas.drawBitmap(localcard.getImage(context, Card_Width, Card_Height), localcard.getCurrent_X(), localcard.getCurrent_Y(), null);
        currentiteration++;
    }



}

Я рисую растровые изображения на поверхности.

Любое предложение будет действительно полезным. Заранее спасибо.

...