Отображение элементов массива в нерегулярном формате сетки - PullRequest
0 голосов
/ 08 февраля 2011

У меня есть массив изображений фиксированного размера, которые я хочу отобразить в сетке в следующем формате, с линиями, содержащими семь элементов по центру относительно линии над ним.не уверены, как я могу перебрать массив для достижения этой цели.Любая помощь приветствуется.

Ответы [ 4 ]

2 голосов
/ 08 февраля 2011

Вы не сможете выполнить это в консоли, потому что текст отображается без какой-либо информации о стилях. Без места впереди, похоже, ты это написал. Если вы поместите пробел перед текстом, он будет выглядеть выровненным по правому краю. В консоли нет такого понятия, как полупространство.

Если бы вы сделали его более насыщенным, например, html, это было бы осуществимо.

0 голосов
/ 08 февраля 2011

Вот чем я закончил, используя идею Эль Ронноко

for (int i = 0; i <= 7; i++)
            {
                for (int j = 0; j <= 7; j++)
                {
                    grid[i, j].posX = i * 50;
                    grid[i, j].posY = j * 50;                      

                    if (i % 2 > 0)
                    {
                        grid[i, j].posY += 25;

                        if (j == 7)
                        {
                            //remove grid[i, j] from array/sight
                        }
                }
            }

Спасибо за ответы и помощь.

0 голосов
/ 08 февраля 2011

Я не знаком с XNA, поэтому не знаю, наделены ли вы окнами управления, которые вы можете расположить вокруг экрана или вам придется выполнять все рисование вручную. Независимо от того, логика центрирования одинакова и может быть адаптирована:

Поскольку текст должен быть размещен по координате верхнего левого угла внутри содержащего поля (будь то экран, ограждающая панель или окно и т. Д.), Вам необходимо выполнить следующие вычисления:

textLeft = (containerWidth - textWidth) / 2

Чтобы визуализировать это, возможно, было бы лучше расширить его:

textLeft = containerWidth / 2 - textWidth / 2

Таким образом, начиная с левой стороны контейнера ( x от нуля), вы перемещаетесь на полпути через контейнер, затем отодвигаетесь назад на половину ширины текста, таким образом помещая половину ширины текста в любую сторону центральной линии.

0 голосов
/ 08 февраля 2011

Не используйте сетку; данные не отображаются в табличной форме. Если вы работаете с ASP.NET, используйте серверный ретранслятор с Panel, обернутым вокруг каждой строки, и установите HorizontalAlign="Center" панели, где это необходимо.

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