Есть ли способ использовать что-то вроде Console.write для отладки в коде XNA? - PullRequest
6 голосов
/ 04 февраля 2012

Мне интересно, как включить код отладки в XNA? Нравится console.writeline

Ответы [ 5 ]

6 голосов
/ 04 февраля 2012

Включить консоль.

В Visual Studio щелкните правой кнопкой мыши свой проект в обозревателе решений.Затем нажмите «Свойства» и на вкладке «Приложение» выберите «Консольное приложение» в качестве типа вывода.

Не забудьте изменить его обратно на «Приложение Windows», чтобы отключить консоль привы закончили отладку.

3 голосов
/ 04 февраля 2012

вы видели класс Debug в пространстве имен System.Diagnostics?Это может отправить вывод на консоль отладки в VS (или внешнюю, например, DebugView)

1 голос
/ 04 апреля 2012

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

Gearset также предоставляет вам другие инструменты, такие как редактирование кривой и проверка ваших объектов в режиме реального времени. Существует бесплатная версия и платная версия (отличие состоит в том, что в бесплатной версии отсутствует отдельная функция). Надеюсь, это поможет.

1 голос
/ 06 февраля 2012

Для рисования текста есть метод spritebatch.DrawString (....), так я рисую количество кадров в секунду.

     class FPS_Counter
     {
        private SpriteFont spriteFont;
        private float FPS = 0f;
        private float totalTime;
        private float displayFPS;

        public FPS_Counter(SpriteBatch batch, ContentManager content)
        {
            this.totalTime = 0f;
            this.displayFPS = 0f;
        }
        public void LoadContent(ContentManager content)
        {
            this.spriteFont = content.Load<SpriteFont>("Fonts/FPSSpriteFont");
        }
        public void DrawFpsCount(GameTime gTime,SpriteBatch batch)
        {

            float elapsed = (float)gTime.ElapsedGameTime.TotalMilliseconds;
            totalTime += elapsed;

            if (totalTime >= 1000)
            {
                displayFPS = FPS;
                FPS = 0;
                totalTime = 0;
            }
            FPS++;

            batch.DrawString(this.spriteFont, this.displayFPS.ToString() + " FPS", new Vector2(10f, 10f), Color.White);
        }
0 голосов
/ 04 февраля 2012

Вы всегда можете использовать Debug.WriteLine и читать окно сообщений отладки. Или используйте следы .

...