Низкий старт / Разработка игр на Silverlight для начинающих

Создадим новое приложение. Я назвал его MemoryCards (карточки памяти).

В Solution Explorer проекта MemoryCards, чтобы сразу упорядочить нашу программу, я создал четыре дополнительных каталога. Images – для изображений, Views – для визуальных форм и их обработки, Models – для моделей данных и их обработки. Common – общий вспомогательный функционал.

Изначально нужно окно в котором будем отображать игру. Можно воспользоваться MainPage, но лучше создадим свое окно и поместим его в каталог Views. Щелкнув правой кнопкой мыши по дереву на любом элементе, можно добавлять новые или существующие элементы. Давайте создадим новый элемент Silverlight Page и назовем его GameBoard (игровая доска).


В результате в дереве проекта внутри узла Views должно получиться два связанных файла GameBoard.xaml и GameBoard.cs

Чтобы запустить именно наше окно при старте приложения изменим вызов в файле App.xaml.cs

private void Application_Startup(object sender, StartupEventArgs e)
{
//this.RootVisual = new MainPage();
this.RootVisual = new Views.GameBoard();
}

Как видно из Views.GameBoard(), каждый каталог автоматически добавляет нам пространство имен, и чтобы обратиться к нужным классам, следует пройти по пути, перечисляя имена через точку.

В фале App.xaml можно нарисовать что-либо, для того, чтобы запустив проект на выполнение убедиться, что открывается именно окно GameBoard.

Далее у нас есть два пути: заниматься проверкой различных возможностей в Silverlight, в том числе и видимо самым интересным - визуализацией в игре, или заняться моделью данных игры. С одной стороны модель игры это основа, каркас логики игры, и значит ее нужно делать в первую очередь. Но с другой стороны, когда среда разработки мало знакома, то всегда требуются эксперименты, что проверить работоспособность и вообще возможность реализации тех или иных идей в этой среде. Вполне может такое статься, что увидев как работает какая-либо «фича» в чужой программе, самим не получается такое реализовать и как результат, заранее разработанная модель игры становится не востребованной.

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

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

  • загрузка изображения из файла

  • вывод части загруженного изображения на экран

  • отслеживание щелчков мыши по разным кусочкам изображений

  • подсчет прошедшего времени

  • (этот список будет расширяться по мере ввода дополнительных «фич» в игру)

Можете прервать чтение, и вернуться после исследования этих возможностей. Будет интересно, у вас получилось сделать таким же способом или нашлись другие варианты.

Комментариев нет:

Отправить комментарий

Да, я внимательно слушаю