Как получить X и Y из 1 балла? - PullRequest
0 голосов
/ 22 января 2012

Я делаю это в Java, но ответ не зависит от Java.

Вот мой код:

    String map = "                                                   x    " +
                 "     x o                          xxxx   xxxx   xxxx    " +
                 "     x                       xxxx                       " +
                 "     xxxx               xxxx                            " +
                 "         xx      xxxxxx                                 " +
                 "           xx                                           " +
                 "             xx                                         " +
                 "               xx                                  x    " +
                 "                 xx                                x    " +
                 "                   xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx    ";

    for(int i = 0; i < map.length(); i++) {
        if(map.charAt(i) == 'x') {
            platform[i] = CCSprite.sprite("platform_2.gif");
            platform[i].setPosition(x, y); //How to get x and y?
            addChild(platform[i]);
            platformCount++;
        }
    }

Как видите, для каждого "x" в строке карты я хочу создать новую платформу. Теперь каждая строка строки имеет длину 57 символов, и мне нужно получить значения X и Y, где находится этот X, но все, что я могу получить, - это charAt, переменная "i", в операторе for. Какой логичный способ сделать это?

1 Ответ

2 голосов
/ 22 января 2012
int x = i % width;
int y = i / width;

… где % равно по модулю и / равно целочисленное деление .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...