摘要:memory cache + backing store enterprise libiary中的caching block 在微软pattern&practise团队发布的enterprise library5版本中带有一个caching block,这个缓存块为我们提供了缓存数据大一些列方法。其架构如下图(这里再说明一下:caching block以后会被整合进.net framework之中,enterlib5的后续版本会将caching block剔除): caching block采用的是“内存缓存+backing store”结构(不过backing store是可选的),程序 阅读全文
silverlight游戏设计(四)角色/精灵篇之 -- 精灵的设计
2010-12-26 19:06 by 姜 萌@cnblogs, 1513 阅读, 10 推荐, 收藏,
摘要:精灵的呈现基础 silverlight的那套api并不是一个为游戏设计的,你找不到现成的”精灵”相关的类。 最简单的精灵用一个Image就可以充当,但游戏中总是存在各式各样的精灵,不同精灵又有不同的逻辑,为了方便设计我们有必要定义一些接口。 呈现器接口—IPresenter IPresenterCode highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--namespaceSopaco.Silverlight.GameFramewrok.Sprite{// 阅读全文
silverlight游戏设计(二)资源管理篇(补充)--图片帧序列资源包解析与图片资源处理
2010-12-26 17:05 by 姜 萌@cnblogs, 699 阅读, 8 推荐, 收藏,
摘要:通过在上篇文章中构建的资源管理器和应用的demo,我们已经能够将游戏资源高效的下载过来并进行缓存。那么在资源管理这一块剩下的就是我们定义自己的资源文件结构和解析资源了。本文像大家展示图片资源包的组织和解析,以及涉及一些有用技巧。 StreamResourceInfo 一个mmorp 游戏的资源是非常多且杂的。比如单说玩家职业就可能有5、6种,每种又分性别,对于一个精灵而言,至少要准备是5个方向的帧序列动画图片(比如上,下,左,左上,左下。对于右边,右上和右下用前几种直接翻转即可),而动作上还能细分出站立、跑、战斗、死亡……。所以我们需要对资源进行归并、打包。这样不仅便于项目文件管理,而且还能 阅读全文
silverlight游戏设计(二)资源管理篇(下)--资源的状态通知、管理与缓存
2010-12-24 19:18 by 姜 萌@cnblogs, 1263 阅读, 9 推荐, 收藏,
摘要:在上篇中,我们实现了一个带有池化、并发连接限制能力的资源下载器,虽然这个下载器能够使我们的游戏动态加载资源并在加载完毕/失败后调用回调方法。但是还是缺乏一些智能。比如我要加载一个game_role_petegg.zip的资源包,如我们有需求:1.对已经下载过的资源不再重复下载。2.下载过的资源要缓存,一方面存在内存中,一方面存在isolatedstorage中。实现这些功能会极大的提高用户体验,所我们有必要设计一个带有缓存控制能力的资源管理器。复用已有的DownloadDelegater搞开发的嘛,不可能每一个需求都单独写一片代码,这要将对象的职责分离清楚,复用还是很容易的。我们定义需求接口: 阅读全文
silverlight游戏设计(七)--项目组织
2010-12-24 16:30 by 姜 萌@cnblogs, 1161 阅读, 10 推荐, 收藏,
摘要:组织项目结构总揽 完成一个好的项目就像盖房子,光有一流的工人师傅还不够,还需要将他合理分工,这样才能确保工程的有序进行,各负各的职责。一起的一个项目大致是这样的结构: GameLibrary:作为整个游戏所需要的基础库和游戏引擎。当然实际中的会包括许多library。 GameBiz:游戏的逻辑,并作为游戏执行入口,它向UI注册事件,通过基础库和游戏引擎构建业务逻辑。引用GameLibrary等基础库和GameUI。 GameUI:只引用silverlight本身必须的库以及项目的自定义控件库 GameLoader:游戏的引导器或者叫做加载器,参见之前的文章:silverlight游戏 阅读全文
silverlight游戏设计(三)性能优化篇(上) -- Storyboard与DispatcherTimer的使用
2010-12-23 13:55 by 姜 萌@cnblogs, 1652 阅读, 18 推荐, 收藏,
摘要:其实说起性能优化,与其说是技术问题,不如说是编程习惯问题。在我之前所经历的webgame项目中,sl与flash对比?按照微软的说法,或许sl能够比flash性能更强。但是如同评判一个程序的好坏一样,绝大多数情况下性能的优劣取决于你是怎么写的代码而不是所依托底层技术。引起注意我小小总结了一下,在UI层次上应该注意一下几点:不要过分使用Storyboard不要过分使用BitmapEffect不要过分... 阅读全文
silverlight游戏设计(二)资源管理篇(上)--实现一个多任务资源下载器
2010-12-21 22:32 by 姜 萌@cnblogs, 1581 阅读, 18 推荐, 收藏,
摘要:我在silverlight游戏设计(一)主程序加载器这篇文章中写的那个加载器中其实已经包含了一个下载器。不过本篇需要的是一个在游戏运行时动态执行的下载器,这两者有什么区别呢?一方面在于前篇的那个下载器是串行下载所有文件,而对于一个正在运行的网游,因为我们对大部分资源(比如图片、脚本等)采取动态加载的策略,所以它随时都有可能去请求下载,也就是需要同时进行更多的下载任务;二是我们这个下载器与接下来资源... 阅读全文
silverlight游戏设计(一)主程序加载器
2010-12-21 09:36 by 姜 萌@cnblogs, 932 阅读, 21 推荐, 收藏,
摘要:有段时间没有搞webgame了,近期看到园子里有些silverlight方面文章,忍不住手闲也写几篇文章。作为silverlight webgame的开篇文章,先给大家普及一下主程序加载器的概念。 什么是加载器/为什么需要加载器 我们想一想,一个webgame做下来大概要多大?即便图片资源和其他一些诸如脚本等数据包是动态下载的,我所经历过的webgame最基本的少说也要500KB。对于国人来讲... 阅读全文
数据统计的视觉盛宴---visifire charts
2010-12-16 00:19 by 姜 萌@cnblogs, 4906 阅读, 13 推荐, 收藏,
摘要:上文中我给大家展示了微软提供的开源toolkit中图表控件的效果和使用,但是与fusion charts相比效果还是显得逊色。本篇将介绍另一种charts控件库—visifire charts。 visifire控件库不仅涵盖wpf/silverlight,还有windows phone的版本(由此可见将wpf的代码移植到silverlight和windows phone上是一个非常平滑的过程)。我们可以从visifire官网下载试用版本。 更加丰富的图表样式 wpf toolkit中的charts提供了7中现成的控件:AreaSeries,PieSeries,LineSeries,Bar 阅读全文
使用WPF toolkit--Charts使你的数据展现更加形象
2010-12-14 15:41 by 姜 萌@cnblogs, 13385 阅读, 18 推荐, 收藏,
摘要:今天在wooboo上看我们移动广告的收入情况时,发现上面的那个图表挺好看的,这个图表是用flex做的,查了下还挺有名,叫fusionchart,有免费版本和收费版本。 (flex上有名的fusion chart) 虽然.net没有提供线程的wpf/silverlight图表控件,但是在wpf/silverlight toolkit中包含了常用实用控件:AreaSeries,PieSeries,L... 阅读全文
浙公网安备 33010602011771号