Архивные записи по тэгу ‘Tutorial’

Небольшие уточнение планов.

Урока по работе с клавиотурой скорее всего не будет, особо описывать нечего. Хотя может и появится общий урок по «прикручиванию» Input’a к игровому циклу, но явно не втом порядке который зарание планировался.

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

(09.07.2008) Грусно но вот что получается когда учишься одновременно с написанием, оказывается что Silverlight в данный момент поддерживает только BasicHttpBinding тип привязки, а мне нужен NetTCPBinding. Так что буду ковырять все подряд.

Работа с базами данных будет через LINQ, в качестве примера сервера будет MS SQL Server 2005 Express(бесплатный и быстрый).

Если у Вас возникнут сомнения по поводу быстродействия этой связки, то смею Вас уверить они безосновательны – в инете множество подтверждений по этому поводу. И это пока не наше дело. Из своего опыта могу добавить только правильно подобраные алгоритмы это 95% всей оптимазации. Так что не замарачивайтесь по поводу быстродействия.

Blend User Guide

Выгрузил может кому пригодится.

http://rapidshare.com/files/126495791/Blend.zip.html

Урок:5 Пытаемся работать с изображениями (Мысли о анимации)

Собственно назвать это уроком можно с большой натяжкой, так – больше общие замечания по работе с изображениями в Silverlight.

Итак, изображения, на самом деле это одна из самых слабых сторон Silverlight ‘a. Возможностей тут не так уж много. Давайте их посмотрим.

Так как Silverlight оперирует с объектами и их свойствами, битмап на страницу можно добавить только двумя способами:

· 1) Добавив объект Image

· 2) Использовав ImageBrush уже на существующем объекте

Отсюда все возможности и ограничения по работе с битмапами.

Далее »

Урок 4: Игровой цикл. Часть 3 (Процедурная анимация в Silverlight’e и игровой цикл)

Собственно если вы уже понимаете анимацию Silverlight’a на базе xaml, то процедурная анимация точно для вас не составит труда.

Как случай чистой xaml анимации, так и случай чистой процедурной анимации на C# в реальной жизни по отдельности очень редко встречается. Но для полноты эксперимента мы обязаны их рассмотреть. Так что давайте для начала попробуем создать таймер. Вот что у нас получилось в файле page.xaml.cs:

   1:   Page : Canvas
   2:      {
   3:          Storyboard animation_timer; // объявляем экземпляр таймера Storyboard
   4:          public Page()
   5:          {
   6:              InitializeComponent();
   7:  
   8:              animation_timer = new Storyboard(); // создаем наш таймер
   9:              this.Resources.Add("animation_timer", animation_timer); // добавляем его в ресурсы страницы
  10:              animation_timer.Begin(); // собственно запускаем его
  11:          }
  12:      }

Далее »

Урок 4: Игровой цикл. Часть 2 (Silverlight анимация и xaml)

Ладно продолжем.

Анимация с использованием Blend’а, красиво, легко, но, к сожалению, в случае написания игр не сильно жизнеспособна. Поэтому попытаемся поковырять анимацию руками. Будем ковырять DoubleAnimation как самую распространенную.

Далее »

Урок 4: Игровой цикл. Часть 1 (Простейшая анимация и немного теории)

Тут меня попросили начать с «прикручивания» SQL базы. Но, к сожалению, это, наверное, одна из самых обширных тем, поэтому, надобно подумать с чего начать чайнику, какой сервер поставить, как проще создать БД. Дело в том, что, скорее всего, работать с БД в Silverlight’e будем через LINQ. Если кому ОЧЕНЬ надо почитать, то смотрите здесь. Просто через LINQ нельзя модифицировать и создавать БД :-( вроде как прочитал такую информацию. Поэтому сами понимаете тут «надо покумекать». Хотя я прекрасно понимаю что «прирули» SQL к Silverlight’y даже на том уровне что знаем – то при желании можно создать клон БК или чего ни будь подобное. Кроме того я не вижу ни одного возможного применения баз данных в Silverlight’е при использованием их вместе на одной машине. Поэтому, по любому, вам необходимо будет задействовать или веб-сервисы (WCF) или работу с сокетами для прямого обращения к базе. А это работа с сетью. Так что пойдем по порядку – возможно делая небольшие отступления. Хочется заметить, что существует возможность, что до меня успеет разобраться с этим другой человек – может он и поможет нам с уроком в данном блоге.

К делу. Итак, игровой цикл, в народе известный как геймлуп (Gameloop) и анимация. В связи с тем, что эти темы ОЧЕНЬ тесно связаны – обе задействуют таймеры, мы начнем с анимации, а именно с работы с таймером и изображениями.

В Silverlight’e можно создать два типа таймеров, а именно Storyboard (System.Windows.Media.Animation) и DispatcherTimer (System.Windows.Threading). Что именно использовать мнения разделяются. Некоторые, аргументируя тем, что Storyboard легче «хакнуть» рекомендуют использовать DispatcherTimer. Другие же, рекомендуют наоборот – Storyboard уповая на его более широкие возможности.

Лично для меня окончательно поставил точку в этом вопросе Adam Kinney из Microsoft’а в своем блоге. Суть всего этого, что Storyboard во-первых более стабилен для различных ОS и браузеров. Во- вторых DispatcherTimer имеет меньшую разрешающую способность, чем Storyboard (правда у меня не получилось это протестить – и тот и другой выдают на пустом цикле максимум 63-65 fps, кстати, буду благодарен за пример с более высокими показателями). Ну и, в-третьих – функциональность: DispatcherTimer еще можно использовать для организации игрового цикла, но вот делать в Silverlight’е его средствами анимацию – это просто себя не уважать: сложно и поддерживает только процедурную анимацию, при этом теряется просто две трети всех возможностей анимации Silverlight’а.

Далее »

Silverlight 1.0 & 2.0 and Blend free e-book (надеюсь переводить не надо ;-) )

Собственно все здесь. Самая большая подборка да еще книги полные – так что сами понимаете.

Урок 3: User Control, Forms(модальные и не модальные) и Drag&Drop

Сначало немного разъяснения. В Silverlight’e отсутствуют формы (диалоговые окна). Поэтому мы получим их функциональность, используюя юзер контролы и драгндроп.

Создадим проект Silverlight и файл страницы приведем к следующему виду:

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

А вот далее, мы создадим Silverlight user control, а именно: зайдем в меню Project->Add New Item->Silverlight user control,  и назовем новый файл Form.xaml. Далее »

Урок 2: DataBind в Silverlight’e

Данный урок с натяжкой можно порекомендавать как 2, сорее перед ним надо хотябы это почитать. Я поробую в нем объяснить политику и философию DataBind’a (датабинда) в Silverlight’e. В связи с тем, что у меня данная тема вызвала затруднения, я решил попробовать в месте с вами разобратся.

Тема интересная, но не прозрачная, так что я, по окончании, файлик проекта зазипую и сохраню на будущее.

Сначала немного философии. Связывание данных (Data bind) соеденяет акие либо свойства пользовательского интерейса (UI) и программным объектом (почему-то на западе это называют бизнес объектом). Пользовательский интерфейс называется при таком подходе таргетом (target-цель), провайдер данный или программный объект соурсом (source – источником). Связывание данных асоциирует какие либо данные, бизнес уровня, с уровнем клиентского интерфейса, а именно со каким либо свойством UI контрола. Данное связывание позволяет рассматривать пользовательский интерфейс как «черный ящик», однажды связав данные вы в дальнейшем в программе работаете с данными бизнес уровня, позволив себе забыть о UI вообще. Это позволяет разделить програмную и дизайнерсую работу над приложением.

Далее »

Уроки 2,3,4 и т.д.

Вот набрел на неплохую ссылку с переводами на русский, и чего-то подумалось – не стоит изобретать велосипед, поэтому советую уже сделаный перевод курса:

Пособие по Silverlight – Часть I (Создание “Hello World” при помощи Silverlight 2 и VS 2008)

Пособие по Silverlight – Часть II (Использование панели инструментов планировки (построения))

Пособие по Silverlight – Часть III (Использование сетей для получения информации и заполнения информационных таблиц)

Пособие по Silverlight – Часть IV (Использование инструментов стилизации для улучшения внешнего вида приложения)

Пособие по Silverlight – Часть V (Применение функций ListBox и DataBinding для отображения данных списка)

Пособие по Silverlight – Часть VI (Использование пользовательских элементов управления для внедрения основных/детальных сценариев)

Пособие по Silverlight – Часть VII (Использование шаблонов для настройки внешнего вида и поведения контролов)

Незнаю как кому, а мне это дало хороший старт.

Настоятельно так же рекомендую почитать по базовым навыкам работы в Blend’e:

Пишем Hello World на Silverlight 2

Общий обзор возможностей работы Expression Blend с Silverlight 2

Трюки при создании и использовании элементов управления WPF и Silverlight

Следующая страница »