Архивные записи по тэгу ‘Игры’
Урок: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’а.
Чего бы почитать по теме?
Советую начать с
http://www.silverlight.net/quickstarts/,
http://silverlight.net/learn/tutorials.aspx,
http://weblogs.asp.net/mschwarz/archive/2007/06/06/silverlight-tutorials.aspx
(а именно вот с этотого
http://weblogs.asp.net/scottgu/pages/silverlight-tutorial-part-1-creating-quot-hello-world-quot-with-silverlight-2-and-vs-2008.aspx)
http://weblogs.asp.net/scottgu/pages/silverlight-posts.aspx
По программированию игр под Silvelight смотреть особо нечего, исходников много можно найти, а почитать:
http://silverlightrocks.com/community/blogs/silverlight_games_101/default.aspx
http://silverlight.net/blogs/msnow/archive/2008/03/25/introduction.aspx
http://www.andybeaulieu.com/(тут не только игры, ОЧЕНЬ много информации)
И обязательно скачайте Microsoft® Silverlight™ 2 Software Development Kit Beta 1 Documentation – множество вопросов можно почитать)) Повторяюсь НЕ СТАВТЕ сам SDK!!!
На русском особо ничего не посоветую — бо большого ничего не нашел, а так почитать(тем более попадаются интереснинькие примеры):
http://porubov.com/
http://habrahabr.ru/blog/silverlight/
http://heckfy.3eu.ru/
Онлайновые РПГ – возможное будущее
Собственно….. Сразу представлюсь ЧАЙНИК в программировании.
Если чесно просто млею от игр, правда не от всех — только от RPG. Хороших RPG.
Вначале были просто игры, потом подсел на WoW, даже полтора года держал сервер в локалке с онлайном до 400 чеовек. Затем просто надоело, а надоело потому что хотелось чтобы все работало – сами представляете что такое пиратский сервер, вот и забросил это гибое дело.
Но душа требует своего, тебует разгрузки от повседневности или хорошей книги или массовой онайновой игры. Я иногда балуюсь програмированием и переодически интересуюсь вопросами программирования сетевых (сети это моя болячка, моя работа и моя профессия — именно сети а не программирование) игр. Но если из Вас кто либо интересовался этим вопросом то прекрассно понимает что одному не в жизнь не осилить написание нормальной игруши тем более сетевой.
И я так думал, пока не попалась одна ссылка на игру с отрытым кодом, которую написала одна семья(ДВА ЧЕЛОВЕКА, муж с женой) на питоне(Найду ссылочку выложу). И у них онлайн больше 1000. Дасссссссссс…..
Вот тогда то я и задумался, а «где-же истина брат». И за чем будущее?(пока трогаем только игрушки).
Добавить комментарий
Добавить комментарий
Добавить комментарий