Как нарисовать монеты в дорожке с узорами в игре superjumper? - PullRequest
0 голосов
/ 27 февраля 2012

Как я могу поместить монеты в игру SuperJumper, потому что сейчас монеты рисуются случайным образом, но я хочу рисовать в определенных рисунках, таких как круг, полукруг и прямая линия. Вот код, который у меня пока есть -

 int coinecoord = rand.nextInt(3);
        switch(coinecoord)
        {
            case 0:
                if (rand.nextFloat() > 0.5f)
                {

                    Coin coin = new Coin(x1 +1, y + Coin.COIN_HEIGHT + rand.nextFloat() * 3,0);
                    coins.add(coin);
                }
                break;
            case 1:
                if (rand.nextFloat() > 0.5f)
                {

                    Coin coin = new Coin(x1 +6, y + Coin.COIN_HEIGHT + rand.nextFloat() * 3,1);
                    coins.add(coin);
                }
                break;
            case 2:
                if (rand.nextFloat() > 0.5f)
                {

                    Coin coin = new Coin(x1 +rand.nextFloat(), y + Coin.COIN_HEIGHT + rand.nextFloat() * 3,2);
                    coins.add(coin);
                }
                break;
        }

        y += (maxJumpHeight - 0.5f) /3.0f;// add plateform
        y -= rand.nextFloat() * (maxJumpHeight / 3);
    }

ничья в мире класса Renderer as ---

private void renderItems()
{
    int len = world.springs.size();

    len = world.coins.size();
    for (int i = 0; i < len; i++) {
        Coin coin = world.coins.get(i);
        TextureRegion keyFrame;
        //System.out.println("coin.getMoreCoin()"+coin.getMoreCoin());
        switch (coin.getMoreCoin())
        {
        case 0:
            keyFrame = Assets.coinAnim.getKeyFrame(coin.stateTime, Animation.ANIMATION_LOOPING);
            batch.draw(keyFrame, coin.position.x - 0.5f, coin.position.y - 0.8f, 1, 1.6f);
            break;
        case 1:
            keyFrame = Assets.coinAnim.getKeyFrame(coin.stateTime, Animation.ANIMATION_LOOPING);
            batch.draw(keyFrame, coin.position.x - 0.5f, coin.position.y - 0.8f, 1, 1.6f);
            break;
        case 2:
            keyFrame = Assets.coinAnim.getKeyFrame(coin.stateTime, Animation.ANIMATION_LOOPING);
            batch.draw(keyFrame, coin.position.x - 0.5f, coin.position.y - 0.8f, 1, 1.6f);
            break;

        }

    }

}

Пожалуйста, кто-нибудь, помогите мне ...

1 Ответ

2 голосов
/ 22 октября 2012

У вас может быть воображаемая сетка, скажем, 8 на 8. Следовательно, 64 клетки означают 64 монеты. Изначально вы можете установить видимость монет на false (в вашем классе монет вы можете иметь другое свойство, например, видимость, которое будет изначально установлено на false). Вы можете создать несколько хороших шаблонов того, как должна выглядеть монета, сделав несколько ячеек видимыми и невидимыми. Для каждого шаблона вам может потребоваться, чтобы монета в определенной ячейке была видимой, а некоторые - невидимой. В вашем методе рендеринга покажите монеты, которые установлены в видимые.

...