Опубликован: 05.08.2010 | Доступ: свободный | Студентов: 2008 / 45 | Оценка: 4.50 / 4.40 | Длительность: 60:26:00
Самостоятельная работа 1:

Компьютерная 2D-графика в Microsoft XNA Game Studio 3.0

Самостоятельная работа 1: 12345678910 || Самостоятельная работа 2 >

Страницы деинсталлятора Smart Install Maker

Приведем описание некоторых страниц.

Страница 'Настройки'

  • Создать деинсталлятор - если включен, то в процессе установки будет создан деинсталлятор Вашего приложения, с помощью которого можно будет автоматически удалить программу.
    • Имя программы для деинсталляции - имя программы в списке "Установка и удаление программ".
    • Заголовок деинсталлятора - текст заголовка главного окна деинсталлятора.
    • Имя файла деинсталлятора - полный путь к файлу деинсталлятора.
    • Имя лог-файла деинсталлятора - полный путь к лог-файлу деинсталлятора.
  • Открыть интернет-страницу деинсталляции - если включен, при завершении деинсталляции будет открыта интернет-страница, адрес которой указан в этом поле. Вы также можете ввести сюда путь к файлу, расположенному на локальном диске.
  • Закрыть запущенные приложения - здесь вы можете указать те приложения, которые должны быть закрыты в начале деинсталляции.
    • Заголовок окна - укажите строку заголовка по которой будут искаться закрываемые приложения.
    • Тип поиска:
      • Точный заголовок окна - закроются те приложения у которых заголовок окна совпадает с указанным в поле "Заголовок окна".
      • Подстрока заголовка окна - закроются приложения, заголовок окна которых содержит указанную строку.

Страница 'Удаление'

Страница представлена в табличной форме, заполнение которой осуществляется через окно 'Добавить запись'


  • Что удалять - выберите тип удаления:
    • Файл - удалять файл
    • Пустая папка - удалять пустую директорию. В данном случае директория не будет удалена, если в ней находится хоть один файл.
    • Папка с файлами - удалять директорию со всеми вложенными в нее файлами и директориями.
  • Имя файла - путь к удаляемому файлу или директории.

Формирование инсталляционного пакета игры "Летящие в прерии"

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

  • Запустите установленный на Вашем компьютере пакет Smart Install Maker
  • Заполните страницу ' Информация ' как показано на рисунке

  • Откройте страницу ' Файлы ' и заполните таблицу через последовательность окон ' Добавить запись ' всеми необходимыми для работы игры ресурсами. Каждую группу ресурсов отмечайте в окне 'Открыть', которое вызывается кнопкой ' Выбрать файл ', расположенной справа от первого поля





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

Еще один ресурс, который нужно загрузить в инсталляционный пакет - файл иконки. Она будет представлять ярлык на рабочем столе компьютера пользователя. Мы воспользуемся иконкой с именем Game.ico, прилагаемой в каталоге Source данной лабораторной работы.

  • На странице ' Файлы ' добавьте запись через окно ' Добавить запись ' для загрузки иконки в список


  • Откройте страницу ' Требования ' и заполните ее так

Нам нужна проверка версии .NET Framework 3.0 и выше, поскольку без нее программа игры работать на компьютере пользователя не будет. Но мы намеренно опустили эту опцию, поскольку проверку организуем позднее в пакетном файле скриптов Install.wsf через системный реестр, не полагаясь на проверку инсталлятора.

  • Сохраните файл инсталляционного проекта командой Файл/Сохранить или кнопкой на панели инструментов (и далее не забывайте периодически сохранять любой разрабатываемый вами проект, не надеясь на надежность нашего электричества, чтобы не потерять часть проделанной работы)
  • Откройте окно Диалоги/Общая и заполните его так

  • Откройте вкладку Диалоги/Лицензия/Информация и подключите к пакету файл с Лицензионным соглашением, созданный нами ранее

  • Откройте вкладку Диалоги/Завершение и заполните его так

  • Откройте вкладку Интерфейс/Фон и настройте ее так

  • Откройте страницу Ярлыки и настройте последовательность окон добавления записи так



  • Выполните команду меню Сервис/Добавить ярлык удаления

  • Сохраните проект и создайте инсталляционный пакет щелчком на кнопке ' Запустить инсталлятор '

Инсталлятор создал в каталоге C:\Setup, указанном нами в настройках, инсталляционный файл с заданным именем Lab58_Install.exe. Теперь этот файл с программой можно распространять и установка будет иметь профессиональный вид.

Самостоятельная работа 1: 12345678910 || Самостоятельная работа 2 >
Алексей Бабушкин
Алексей Бабушкин

При выполнении в лабораторной работе упражнения №1 , а именно при выполнении нижеследующего кода:

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Text;

using System.Windows.Forms;

using Microsoft.Xna.Framework.Graphics;

   

namespace Application1

{

    public partial class MainForm : Form

    {

        // Объявим поле графического устройства для видимости в методах

        GraphicsDevice device;

   

        public MainForm()

        {

            InitializeComponent();

   

            // Подпишемся на событие Load формы

            this.Load += new EventHandler(MainForm_Load);

   

            // Попишемся на событие FormClosed формы

            this.FormClosed += new FormClosedEventHandler(MainForm_FormClosed);

        }

   

        void MainForm_FormClosed(object sender, FormClosedEventArgs e)

        {

            //  Удаляем (освобождаем) устройство

            device.Dispose();

            // На всякий случай присваиваем ссылке на устройство значение null

            device = null;       

        }

   

        void MainForm_Load(object sender, EventArgs e)

        {

            // Создаем объект представления для настройки графического устройства

            PresentationParameters presentParams = new PresentationParameters();

            // Настраиваем объект представления через его свойства

            presentParams.IsFullScreen = false; // Включаем оконный режим

            presentParams.BackBufferCount = 1;  // Включаем задний буфер

                                                // для двойной буферизации

            // Переключение переднего и заднего буферов

            // должно осуществляться с максимальной эффективностью

            presentParams.SwapEffect = SwapEffect.Discard;

            // Устанавливаем размеры заднего буфера по клиентской области окна формы

            presentParams.BackBufferWidth = this.ClientSize.Width;

            presentParams.BackBufferHeight = this.ClientSize.Height;

   

            // Создадим графическое устройство с заданными настройками

            device = new GraphicsDevice(GraphicsAdapter.DefaultAdapter, DeviceType.Hardware,

                this.Handle, presentParams);

        }

   

        protected override void OnPaint(PaintEventArgs e)

        {

            device.Clear(Microsoft.Xna.Framework.Graphics.Color.CornflowerBlue);

   

            base.OnPaint(e);

        }

    }

}

Выбрасывается исключение:

Невозможно загрузить файл или сборку "Microsoft.Xna.Framework, Version=3.0.0.0, Culture=neutral, PublicKeyToken=6d5c3888ef60e27d" или один из зависимых от них компонентов. Не удается найти указанный файл.

Делаю все пунктуально. В чем может быть проблема?