Главная » Разработка для Windows Phone 7

Холст PhingerPaint

Добавлено Дата: 26 December, 2011 категория: Разработка для Windows Phone 7

Компоненты, создаваемые PhingerPaint, а также некоторые другие необходимые данные хранятся как поля:

Проект XNA: PhingerPaint Файл: Game1.cs (фрагмент, демонстрирующий поля)

public class Game1 : Microsoft.Xna.Framework.Game {

GraphicsDeviceManager graphics; SpriteBatch spriteBatch;

Читать »

Совместное и повторное использование стилей шаблонов Windows Phone 7

Добавлено Дата: 26 December, 2011 категория: Разработка для Windows Phone 7

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

А вот от ControlTemplate наследоваться нельзя. Нельзя сослаться на существующий ControlTemplate и заменить часть его дерева визуальных элементов или задать что-то дополнительно. (Довольно сложно представить механизм или синтаксис такого процесса.)

Читать »

XAP – это ZIP

Добавлено Дата: 25 December, 2011 категория: Разработка для Windows Phone 7

В каталоге \bin\Debug проекта, созданного Visual Studio для SilverlightHelloPhone, можно увидеть файл SilverlightHelloPhone.xap. Это так называемый XAP-файл (произносится «зап»). Именно этот файл развертывается на телефоне или эмуляторе телефона.

XAP-файл – это пакет файлов, упакованных в очень популярном формате сжатия ZIP. (Если требуется найти в толпе разработчиков на Silverlight, просто прокричите: «».) Чтобы заглянуть внутрь файла, переименуйте SilverlightHelloPhone.xap в SilverlightHelloPhone.zip. Там вы обнаружите несколько файлов растровых изображений, являющихся частью проекта, XML-файл, XAML-файл и файл SilverlightHelloPhone.dll, который является скомпилированным двоичным файлом (кодом) приложения.

Читать »

Захоронение и параметры для приложений на XNA

Добавлено Дата: 24 December, 2011 категория: Разработка для Windows Phone 7

Как правило, приложения на XNA не строятся вокруг страниц, как приложения на Silverlight. Однако если это требуется, безусловно, в рамках приложения на XNA тоже можно

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

Читать »

От жестов к трансформациям Windows Phone 7

Добавлено Дата: 24 December, 2011 категория: Разработка для Windows Phone 7

Основным средством пользовательского ввода в приложении для Windows Phone 7 является касание. Устройство, работающее под управлением Windows Phone 7, имеет экран, который поддерживает минимум четыре точки касания. Распознавание и интерпретация касаний должны быть реализованы приложениями так, чтобы это было естественно и интуитивно понятно для пользователя.

Читать »

Пользовательский вертикальный StackPanel

Добавлено Дата: 23 December, 2011 категория: Разработка для Windows Phone 7

Рассмотрим еще один производный от Panel класс – StackPanel – и вы увидите, как он отличается от Grid с одной ячейкой. Чтобы не усложнять код и избежать описания свойств, я назову этот пользовательский класс VerticalStackPanel. Вот метод MeasureOverride:

Читать »

Передача данных на страницы Windows Phone 7

Добавлено Дата: 23 December, 2011 категория: Разработка для Windows Phone 7

Вероятность использования страниц в качестве диалоговых окон подымает два вопроса:

•                                   Как реализовать передачу данных с исходной страницы на страницу перехода?

Читать »

Замена панели Windows Phone 7

Добавлено Дата: 23 December, 2011 категория: Разработка для Windows Phone 7

Как было показано ранее в этой главе при рассмотрении деревьев визуальных элементов, для отображения всех элементов ItemsControl использует ItemsPresenter. Одним из основных элементов отображения списков является панель. По умолчанию используется StackPanel (или VirtualizingStackPanel для ListBox) с вертикальной ориентацией. Вертикальная стек- панель является таким естественным выбором для реализации этой задачи, что менять ее на что-то другое просто не приходит в голову.

Читать »

Масштабирование и вращение Windows Phone 7

Добавлено Дата: 23 December, 2011 категория: Разработка для Windows Phone 7

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

Читать »

Идеал многозадачности Windows Phone 7

Добавлено Дата: 22 December, 2011 категория: Разработка для Windows Phone 7

Основной мечтой нескольких последних десятилетий было научить персональные компьютеры выполнять несколько задач одновременно. Но когда дело доходит до пользовательских интерфейсов, многозадачность становится еще более проблематичной. Резидентные программы (Terminate-and-Stay-Resident, TSR) MS-DOS и кооперативная многозадачность ранней Windows были лишь первыми робкими попытками в непрекращающейся до сих пор борьбе. Теоретически, переключать процессы легко. Но организовать совместное использование ресурсов – включая экран и целый ряд различных устройств ввода – очень сложно.

Читать »

Использование сенсорного ввода в игровых приложениях Windows Phone 7

Добавлено Дата: 22 December, 2011 категория: Разработка для Windows Phone 7

Часто при изучении новой среды разработки мы обзаводимся набором техник, которые не имеют никакого отношения к навыкам, необходимым для создания законченного приложения. Данная глава призвана компенсировать эту проблему, представив два весьма типовых приложения для телефона: PhingerPaint и PhreeCell. Первое – это простое приложение для рисования; второе – версия классической игры пасьянс. Третье приложение, SpinPaint, использует часть кода PhingerPaint, но обеспечивает совершенно другую функциональность.

Читать »

Изображения и захоронение Windows Phone 7

Добавлено Дата: 22 December, 2011 категория: Разработка для Windows Phone 7

В 1890-х годах американский головоломщик Сэм Ллойд популяризировал головоломку, которая была изобретена пару десятилетий до этого и с тех пор известна как «пятнашки» (или по-французски «JeuDeTaquin»). В классическом виде этот пазл состоит из 15 фрагментов, каждый из которых обозначен цифрами от 1 до 15, случайным образом расположенных в сетке размером 4×4 (т.е. одна ячейка остается свободной). Цель – перемещая фрагменты, расставить их в правильном числовом порядке.

Читать »

Play и Replay

Добавлено Дата: 22 December, 2011 категория: Разработка для Windows Phone 7

Метод Replay находится в классе Game1.Helper.cs:

Проект XNA: PhreeCell Файл: Game1.Helper.cs (фрагмент)

void Replay() {

for (int i = 0; i < 4; i++) holds[i] = null;

foreach (List<CardInfo> final in finals) final.Clear();

Читать »

Поучительная история Windows Phone 7

Добавлено Дата: 21 December, 2011 категория: Разработка для Windows Phone 7

В предыдущих главах я показал, как с помощью метода CompositionTarget.Rendering перемещать и изменять визуальные объекты синхронно с частотой обновления экрана. Эта методика Silverlight хорошо подходит для некоторых сценариев, но пользоваться ею надо с осторожностью. Если вы действительно хотите применять CompositionTarget.Rendering в полноценных игровых циклах, например, пора подумать о XNA.

Читать »

Геометрические элементы и трансформации Windows Phone 7

Добавлено Дата: 21 December, 2011 категория: Разработка для Windows Phone 7

Чтобы с помощью EllipseGeometry отрисовать эллипс с наклонными осями, применяем RotateTransform. И у нас есть выбор. Поскольку Path наследуется от UIElement, мы можем применить RotateTransform к свойству RenderTransform элемента Path:

<Grid Background="LightCyan"> <Path Stroke="Maroon"

Читать »