
WPF/Silverlight
文章平均质量分 83
alamiye010
这个作者很懒,什么都没留下…
展开
-
WPF开发的ARPG游戏引擎(WPF Game Engine)
花了一个月夜晚时间,就为了自己儿时的一个理想。最近比较看好WPF,所以就用WPF开发了个A·RPG游戏引擎,先发几张截图吧:(特别申明一下,游戏里面用了很多其他网络MMORPG的素材,如地图是金庸的,主角是破天一剑的,怪物是剑侠世界的,技能是轩辕剑5的,此软件只做练习用。嘿嘿,目前完成度40%,但是只要您安装有.NET3.0+理论上应该都可以运行,我的开发环境是.Net3.5sp1)原创 2009-05-04 20:36:00 · 12849 阅读 · 27 评论 -
C#开发WPF/Silverlight动画及游戏系列教程(Game Tutorial):(二十四) Be careful!前方怪物出没
游戏的精灵框架到此为止算告一段落,让我们一同来体验它带来的神奇效应。 一个安静的黄昏,主角悠闲的甩着它帅气的毛发独跑于林阴大道。怎知天色已晚即将进入月亮的领地,嘿嘿,我们的故事就从这里开始:Be careful,前方怪物出没! 实在不忍心让主角空有一身武艺而无处施展,本节为了不再让它孤单,我将向游戏中加入可爱的妖精妹妹与之为伴: 好象在哪见过呢?对,就是她了原创 2009-07-24 17:28:00 · 2410 阅读 · 0 评论 -
C#开发WPF/Silverlight动画及游戏系列教程(Game Tutorial):(二十五)完美捕捉精灵之神器 -- HitTest
怪物们都出现了,如何选中自己心仪的怪是主角目前首要做的事。 为了进行鼠标状态区别,我首先对鼠标变化规则进行约束:当鼠标在屏幕上空旷地图区域移动时,鼠标光标形态表现为默认光标 (0号光标图片),当鼠标经过精灵(悬停于其上方)时则变成发光光标(1号光标图片),如果指向的精灵对象为敌对状态时则鼠标光标变为攻击光标(2号光标图片),当使用魔法快捷键时,鼠标光标变成凝法状态(3号光标图片)。原创 2009-07-24 17:31:00 · 2951 阅读 · 8 评论 -
C#开发WPF/Silverlight动画及游戏系列教程(Game Tutorial):(二十六)通用型角色头像面板
目前游戏的开发进度已经基本实现了精灵对象之间的普通交互,接下来我们需要朝着实现战斗系统的目标前行。而实现它的前提是必须完善精灵控件的基本属性,如添加生命值、魔法值、活力值、经验值等基本属性并通过窗体界面进行完美体现,本节我将为大家讲解上述内容的具体实现。既然是为精灵添加属性,大家首先想到的当然是为精灵控件加入属性值索引器: 以上这些我称之为精灵的基本值属性,也是界面上最常需要表现出来原创 2009-07-24 17:33:00 · 2559 阅读 · 0 评论 -
C#开发WPF/Silverlight动画及游戏系列教程(Game Tutorial):(二十七)战斗前夜之构建动态障碍物系统
在标准的MMORPG中,每个精灵对象都占据着一块区域(脚底的一块小面积),该区域同样是障碍物系统中的一部分,并且它是动态的,随着精灵的移动而时时变化着。实现游戏中动态的障碍物构建使障碍物系统趋向完美是全面进军战斗系统的必要前奏,大家不想看着主角和怪物叠在一起打来打去吧?之前的章节中障碍物数组只有一个,它只包含地图障碍物信息(地图中固定不动的障碍物),因此要实现动态的障碍物构建,我们还得再增加一原创 2009-07-24 17:36:00 · 2696 阅读 · 2 评论 -
C#开发WPF/Silverlight动画及游戏系列教程(Game Tutorial):(二)让物体动起来②
第二种方法,CompositionTarget动画,官方描述为:CompositionTarget对象可以根据每个帧回调来创建自定义动画。其实直接点,CompositionTarget创建的动画是基于每次界面刷新后触发的,与窗体刷新率保持一致,所以频率是固定的,很难人工介入控制。 那么如何使用它?xaml的界面代码还是和上一篇中描述的一样,这里不累述了。那么接下来就是创建对象并注原创 2009-05-23 09:33:00 · 9943 阅读 · 22 评论 -
C#开发WPF/Silverlight动画及游戏系列教程(Game Tutorial):(三)让物体动起来③
第三种方法,DispatcherTimer动画,该类型动画与CompositionTarget动画类似,是基于界面线程的逐帧动画,但他与CompositionTarget动画不同,DispatcherTimer动画可以轻松的进行参数设置: xaml界面代码仍然沿用第一节的,那么接下来我们在后台代码中创建相关对象: Rectangle rect; //创建原创 2009-05-23 15:50:00 · 8476 阅读 · 12 评论 -
C#开发WPF/Silverlight动画及游戏系列教程(Game Tutorial):(四)实现2D人物动画①
通过前面的学习,我们掌握了如何动态创建物体移动动画,那么接下来我将介绍WPF中如何将物体换成2D游戏角色,并通过使用前面所讲的DispatcherTimer计时器来实现2D人物角色的各种动作动画。 动态实现2D人物角色动画目前有两种主流方法,下面我会分别进行介绍。 第一种方法我称之为图片切换法,准备工作:首先通过3DMAX等工具3D渲染2D的方法制作出角色,然后将角色每原创 2009-05-23 17:45:00 · 10193 阅读 · 22 评论 -
C#开发WPF/Silverlight动画及游戏系列教程(Game Tutorial):(五)实现2D人物动画②
第二种方法我称之为图片截取法,准备工作:这里我以创建主角向右方向施法动画为例。首先需要将10帧150*150的图片通过Photoshop或其他方式合成为一张1500*150的大图,如下图: 从图上可以很清晰的看出主角的整个流畅的施法流程。接着,我将该文件取名叫PlayerMagic.png保存。然后在上一节中建立的Player文件夹上点鼠标右键->添加->现有项->找到P原创 2009-05-23 20:08:00 · 7814 阅读 · 28 评论 -
C#开发WPF/Silverlight动画及游戏系列教程(Game Tutorial):(一)让物体动起来①
序:自从QXGame(WPF GAME ENGINE)游戏引擎公布以来,受到很多朋友的热切关注,于是乎有了写教程的想法。那么从今天开始,我将带领大家一步一步的学会如何使用纯C#开发WPF/Silverlight游戏引擎,过程中我会尽量的开源,并对相关小技巧进行解释和介绍,比较复杂的算法原理我会给大家一条绝对可行的思路,至于如何处理这些复杂的算法,那是仁者见仁,智者见智了,或许您写的算法比原创 2009-05-23 08:37:00 · 22377 阅读 · 53 评论 -
C#开发WPF/Silverlight动画及游戏系列教程(Game Tutorial):(七)传说中的A*寻径算法
关于地图引擎方面的处理涉及到两个方面的知识: 1)地图的实现(包括地图的切割、合成、呈现方式等) 2)地图物件的实现(包括地图中实现寻路、遮罩、传送点等) 为了让大家能更加有兴趣深入后面的知识,我选择先从地图寻路开始讲解吧: 目前游戏中的寻路最经典的莫过于A*(A Star)寻路了,它是一种寻路思维的合集,那么基于它产生的算法则又有多种,例如曼原创 2009-05-29 09:39:00 · 8543 阅读 · 23 评论 -
C#开发WPF/Silverlight动画及游戏系列教程(Game Tutorial):(九) 2D游戏角色在地图上的移动
本节将运用前两节的知识到实际的2D游戏人物在地图上移动中,同时也算是对前面八节的内容进行一次综合运用吧。 那么先从最底层的地图讲起。首先我将一张地图添加进游戏窗口中,这里我同样使用Image控件: Image Map = new Image(); private void InitMap() { Map.Width =原创 2009-05-30 18:34:00 · 7561 阅读 · 10 评论 -
C#开发WPF/Silverlight动画及游戏系列教程(Game Tutorial):目录
本系列教程的示例代码下载(感谢 银光中国 提供资源分流):第一部分源码:WPFGameTutorial_PartI(1-20节)第二部分源码:WPFGameTutorial_PartII(21-26节)第三部分源码:WPFGameTutorial_PartIII(27-30节)第四部分源码:WPFGameTutorial_PartIV(31-35节)第五部分源码:WPFGame原创 2009-05-30 19:45:00 · 54794 阅读 · 145 评论 -
C#开发WPF/Silverlight动画及游戏系列教程(Game Tutorial):(二十八) 经典式属性设计及完美的物理攻击系统
战斗即将开始!要实现MMORPG中的攻击系统,必须为精灵增加相关的参数及属性,这些内容及它们之间的牵连关系设计决定着游戏的新颖度与耐玩性;就好比当年的传奇,系统再普通不过了,但是却因为有着恰如其分的系统参数设定与完美的世界观定位,成就了一代不朽巨作。那么本节开始,我将首先对精灵控件进行属性完善,使之具传统经典游戏中的角色属性。首先看下图:这些属性是目前最经典的角色属性设置(不同的游戏中原创 2009-08-06 19:57:00 · 2778 阅读 · 5 评论 -
C#开发WPF/Silverlight动画及游戏系列教程(Game Tutorial):(二十九) 人工智能(AI)之追踪者
经过前面28节的不断完善,主角已经具备了MMORPG游戏中的大多数功能;但是其他精灵例如怪物等暂时还是无法行动的,上一节中它们无辜的充当了主角的肉靶子,它们开始呐喊:上帝呀,请给予我们灵魂与智慧吧!其实灵魂早就有了,就是精灵的生命线程。那么该如何赋予精灵智慧呢?精灵智慧的实现其实就是为精灵赋予AI(人工智能)。完整的游戏引擎或多或少都必须拥有一定的AI,例如棋牌类型游戏有着它们独特出牌AI,射原创 2009-08-06 19:59:00 · 2669 阅读 · 1 评论 -
C#开发WPF/Silverlight动画及游戏系列教程(Game Tutorial):(八) 完美实现A*寻径动态动画
本节将紧接着上一节,在它的基础上实现鼠标点击动态创建完美的A*寻路动画。(模拟游戏中人物的真实移动,这次可是有障碍物的,可以说基本上完成了人物移动引擎的一半了呢) 首先,在上一节的代码前部分加入一个叫做player的圆形作为我们将要控制的对象(模拟游戏中的主角,下文均称之为“主角”): Ellipse player = new Ellipse(); //用一个圆原创 2009-05-29 20:18:00 · 6451 阅读 · 23 评论 -
C#开发WPF/Silverlight动画及游戏系列教程(Game Tutorial):(十)斜度α地图的构造及算法
在当前的网络游戏中,地图基本都是采取一定斜度的拼装地图,这其中存在两种斜度地图的构造方式: 第一种我称之为伪斜度地图:该类型地图表现层图片为斜度的,但地图基底障碍物等的构造则实为正方形,如下图: 其实最典型的例子就是上一节所演示的内容了,地图是斜的,但是我们却用垂直的障碍物对其进行基底布局,这就是典型的伪斜度地图了。 这样的地图优点在于可以使用简单直接的地图原创 2009-06-04 19:51:00 · 5708 阅读 · 41 评论 -
C#开发WPF/Silverlight动画及游戏系列教程(Game Tutorial):(十一)地图遮罩层的实现
前面的章节主要针对地图表现层进行讲解。通常来说,简单的游戏光有它就足够了;但是为了达到更加真实的光影效果,模拟真实的虚拟世界,我们还得继续在地图上下大工夫。本节将就如何实现地图中的遮罩层,即物体对角色的遮挡进行详细讲解。 首先我们来看一张比较完善的地图应该包含哪些内容: 从上图可以看到,我将一张地图引擎结构分成了3层(难道这就是传说中的地图三层架构?汗一个先。。。)。原创 2009-06-06 18:01:00 · 4731 阅读 · 12 评论 -
C#开发WPF/Silverlight动画及游戏系列教程(Game Tutorial):(十二)神奇的副本地图
前面几节详细的讲解了游戏地图的完整构造,比较有难度的是关于地图内层如障碍物的实现。A*算法往往能让众多的初学者望而止步,斜度α地图则更需要一定的几何知识及抽象思维。很多朋友就问了:什么年代了,都在说面向对象、提高开发效率,难道就没有大众化可以让各层次能力的朋友们都能轻松制作地图引擎的方法吗?大家是否还记得上一节中遗留的一个小悬念,杀手涧就是它了:神奇的副本地图。 大原创 2009-06-12 22:07:00 · 4196 阅读 · 8 评论 -
深银色心扉之Silverlight-MMORPG游戏引擎第一阶段移植
由于博客中无法实现Silverlight的鼠标右键,因此有兴趣测试的朋友请进这个地址:http://silverfuture.cn/博客中就不在上传了。说明:此引擎基于Silverlight3.0开发,语言:纯C#。如果需要观看,您必须安装Silverlight3.0网页插件,您进入上面给的地址后会提示安装,如果您原先装的版本低于3.0,建议您最好先卸载掉旧版本,然后再安装最新的版本。原创 2009-08-20 19:53:00 · 1496 阅读 · 3 评论 -
C#开发WPF/Silverlight动画及游戏系列教程(Game Tutorial):(十三)牵引式地图移动模式①
在前面诸多的章节里,我就地图构造的实现做了讲解,至此还遗留着一个关键问题:在游戏中是角色在移动还是地图在移动?它们之间的移动(位移)关系是如何实现的? 那么在接下来的章节中我将围绕这两个问题进行详细的分析解说。 首先,还得从游戏模式开始说起。目前2D俯视游戏中以即使战略、SLG、RPG(ARPG)等类型的游戏为主流。在即时战略、SLG大地图中,地图的移动原理是:当鼠标处于游原创 2009-06-19 22:54:00 · 3951 阅读 · 6 评论 -
C#开发WPF/Silverlight动画及游戏系列教程(Game Tutorial):(十五) 精灵控件横空出世!②
紧接着上一节,我们打开QXSpirit.xaml.cs文件。在游戏设计中,为了能够轻易控制及管理精灵的各项属性及功能等,我赋予每个精灵一个“生命钟”,它在精灵的使用中起到关键作用: public QXSpirit() { InitializeComponent(); InitThread(); //初始化精灵线程原创 2009-06-21 21:29:00 · 3467 阅读 · 9 评论 -
C#开发WPF/Silverlight动画及游戏系列教程(Game Tutorial):(十四) 精灵控件横空出世!①
在上一节中,我们实现了地图牵引式移动,同时还遗留着一个小尾巴:主角和障碍物该如何跟随着地图的移动而移动? 上节中有点到,只要在地图移动的同时,时时根据主角等对象物体的X,Y坐标进行相对于地图的X,Y坐标移动即可达到目的。但是由此又引来了新问题:主角为Image控件,障碍物则为矩形控件,它们都没有X,Y这两个属性,我们该如何对它们的坐标进行记录呢? 最简单且最直接的方法莫过于将它原创 2009-06-21 21:28:00 · 4567 阅读 · 15 评论 -
C#开发WPF/Silverlight动画及游戏系列教程(Game Tutorial):(十六) 牵引式地图移动模式②
精灵控件让游戏开发更美好!有了它,离完善牵引式地图移动模式可谓一步之遥。只剩下最后一个环节了,大家加油吧。上一节,我在界面线程中通过时时设置Canvas.SetLeft(Spirit, Spirit.X + Canvas.GetLeft(Map) - SpiritCenterX * GridSize);和Canvas.SetTop(Spirit, Spirit.Y + Canvas.GetTo原创 2009-06-26 07:14:00 · 3100 阅读 · 2 评论 -
WPF/Silverlight深度解决方案:(一)解锁被Storyboard束缚的关联属性
如果您在使用WPF/Silverlight进行相关动画开发中使用了Storyboard,并对关联属性进行了动画修改,那么您是否有注意到这些关联属性常常无法再通过直接赋值的形式去修改,尽管它的值已经被更改,但却始终无法在界面上得以体现。例如,在我的C#开发WPF/Silverlight动画及游戏系列教程(Game Tutorial)教程里大量运用了Storyboard对角色的X,Y坐标关联属性以及角原创 2009-08-29 21:42:00 · 4587 阅读 · 0 评论 -
WPF/Silverlight深度解决方案:(二)Silverlight源码之自我保护
Silverlight应用程序发布时会将所有本地资源及类库dll打包进xap文件中,好处是可以非常方便的在网页中部署及桌面化使用;但是同时带来了高度的源码泄露风险。众所周知,xap文件可以被zip等解压软件顺利打开,里面的dll及各种素材资源一目了然; 然后通过****Reflector等工具即可完美的反编译这些dll,就连xaml中的内容也能反射得一清二楚,这不禁让我想起了Flash。网页中的s原创 2009-08-29 21:44:00 · 3284 阅读 · 6 评论 -
WPF/Silverlight深度解决方案:(三)性能提升之终极攻略
本节的目的只有一个:提升性能!首先给出msdn中关于WPF性能优化及提升的文章目录地址:http://msdn.microsoft.com/zh-cn/library/aa970683.aspx关于Silverlight性能优化及提升的文章目录地址:http://msdn.microsoft.com/zh-cn/library/cc189071(VS.95).aspx这些内原创 2009-08-29 21:46:00 · 3923 阅读 · 3 评论 -
C#开发WPF/Silverlight动画及游戏系列教程(Game Tutorial):(十七) 完美精灵之八面玲珑(WPF Only)①
通过第十四节、第十五节的学习,我们掌握了如何创建一个初具雏形的精灵控件。目前我已经赋予了它少量的属性,但是离完美还有很长的距离。因此,我打算在后面的章节中以辅助游戏设计为前提,对该精灵控件进行全方位的包装,使之更加趋于完美与和谐(^-^||)。 在前面所有章节的示例中,角色均只有一个方向,且动作均为跑步状态,因此很多朋友都问我该如何实现角色的全方向及全动作。尽管我在文中已经提级了原创 2009-06-28 09:21:00 · 3642 阅读 · 1 评论 -
C#开发WPF/Silverlight动画及游戏系列教程(Game Tutorial):(十八) 完美精灵之八面玲珑(WPF Only)②
紧接着上一节,首先得解释一下为什么需要将这272张图片合成为一张大图。因为如果游戏中还有装备、坐骑等其他设置,那么我们就需要对图片源进行时时的合成;同时对272张甚至更多的图片进行合成效率高还是对2张大图进行合成效率高这是显而易见的。在本节例子中,主角由身体(衣服)及武器两个部分组成;因此,我们还需要定义一个交错数组来保存已经加载的角色装备合成图到内存中: ///原创 2009-06-28 09:23:00 · 2962 阅读 · 0 评论 -
C#开发WPF/Silverlight动画及游戏系列教程(Game Tutorial):(十九) 完美精灵之八面玲珑(WPF Only)③
首先我要对上一节中最后的ChangeAction()方法进行一些补充说明。该方法的作用之一是根据精灵的当前动作(Action)来设置精灵切图动画的起始帧和结束帧: 如上图,我们可以很清楚的看到精灵这5个动作所分别对应的CurrentStartFrame和CurrentEndFrame。这两个参数很重要是因为在精灵的生命线程中我们可以通过如下黄色区域代码来实现动态的更新精灵角色图原创 2009-06-28 09:24:00 · 2856 阅读 · 3 评论 -
C#开发WPF/Silverlight动画及游戏系列教程(Game Tutorial):(三十一) 超酷万变的矢量魔法
还记得当年的经典网游奇迹(MU)吗?辉煌就如同其名字一般深刻烙印在我的脑海。与朋友们一起通宵奋战的日子已成过去,残留世上那一张张经典不朽的截图让我时刻感受回味。它的成功不仅仅因为其拥有一个极棒的世界观,更深层的却是那些超酷且绚丽的魔法效果,曾经打动着无数年轻的心。本节我将以奇迹中So cool的“激光”魔法为蓝本,向大家展示如何制作矢量魔法:不知道这张图是否能打捞起大家沉淀的回忆,此乃原创 2009-09-04 22:18:00 · 3421 阅读 · 2 评论 -
C#开发WPF/Silverlight动画及游戏系列教程(Game Tutorial):(二十) 第一部分拓展小结篇
写了20节,一路向追着鬼子打一样都没停过,索性也想暂时休息一下整理整理思绪好完成后面的第二部分更为精彩的内容:诸如主位式地图移动模式、NPC & 怪物 与主角的互动、对象AI、攻击与魔法、各种类型伤害计算、完美的RPG游戏界面……等等等等,激动吗?讲实话:我很激动! 读者声音:还没写就开始激动了,典型的傻子。 ^_^||言归正传,本节就先来个承上启下的的小结吧,我打算分4个部分原创 2009-07-08 08:28:00 · 2843 阅读 · 3 评论 -
C#开发WPF/Silverlight动画及游戏系列教程(Game Tutorial):(二十一)主位式地图移动模式
是否期待了很久?本节就来个重量级的做为开场白吧:主位式地图移动模式。何谓主位式地图移动模式,即以主角为中心,它的移动带动着所有对象包括地图、物体对象、其他玩家、怪物等等的相对移动,这些对象的移动都是以主角为参照物的。最典型例子莫过于当前流行的MMORPG了,你控制的角色在地图中永远是处于窗口正中心的位置(除了8个角落外),这就是主位式地图移动模式(如下图)。 有朋友开始焦躁了:原创 2009-07-08 08:32:00 · 2825 阅读 · 15 评论 -
C#开发WPF/Silverlight动画及游戏系列教程(Game Tutorial):(二十二)重构 – 让代码插上翅膀自由飞翔
上一节,我将游戏地图模式进行了一次重大的变动,这在实际开发中意味着项目大规模重置,虽然表面上显得游刃有余,仅仅一个AllMove()方法的改变即实现了完美转型,这全得归功于前20节所搭建起的相对高度可扩展平台。但是,随着开发不断深入,我慢慢的感到些许的不安,因为代码上的日益松散与结构的渐渐稀疏如同Windows系统的磁盘碎片与日俱增,未来维护时的烦琐与痛心疾首已历历在目。代码向我发出了求救信号,用原创 2009-07-08 08:35:00 · 3265 阅读 · 2 评论 -
C#开发WPF/Silverlight动画及游戏系列教程(Game Tutorial):(二十三)自适应性窗口化与全屏化(WPF Only)
上一节中曾有提到,检测系统架构是否合理的评判标准之一就是系统的拓展性。在.NET网站应用中,一个优秀的架构可以在不同数据库之间相互转换,可以与不同的银行接口轻松对接,可以随意集成各种插件,而实现这些仅仅需要对局部进行小小手术而已;同样的,在游戏设计中,窗口化与全屏化的自适应完美切换同样是对游戏架构合理性的严肃考验,Are you ready? 游戏窗口化与全屏化之间的切换方式有两种,第一原创 2009-07-08 08:39:00 · 2920 阅读 · 2 评论 -
C#开发WPF/Silverlight动画及游戏系列教程(Game Tutorial):(三十二) 雷、混、冰、毒、火、风 - 幻化中的魔法魅力!
魔法的魅力不仅仅因为其华丽的外表,更深层次的,它们的额外附加属性效果使得游戏世界更加幻化多彩!无论是中式的金木水火土5行,还是欧式的水火风雷,异或是日式的风林火山等等,在目前的网游世界中无处不得到体现。更甚者,由此衍生出来的好比火影中的混合属性更推动了魔法属性概念的再一次升华。本节,我将为大家演示如何为游戏中的魔法增加华丽的附加属性。第一步,定义规则:1)定义魔法附加属性分类:在本教程原创 2009-09-09 18:09:00 · 5602 阅读 · 10 评论 -
WPF/Silverlight深度解决方案:(六)HLSL自定义渲染特效之完美攻略(上)
Shader Effect中文名称为“渲染特效”或“滤镜”,WPF中自带有5种位图特效及2种渲染特效,而Silverlight中仅有这2种渲染特效: BlurEffect(模糊渲染)和 DropShadowEffect(投影渲染)。由于目前WPF/Silverlight被应用的领域还不是很多,大多数开发者仅仅是将之作为Winform/Webform的替代品,那么现成的这几种渲染特效已足够应付大多数原创 2009-09-28 09:04:00 · 4655 阅读 · 10 评论 -
C#开发WPF/Silverlight动画及游戏系列教程(Game Tutorial):(三十三) 锦上添花之魔法特效装饰
上一节,我们实现了6大系魔法的附加属性,并赋予了不同的颜色加以区别;但是在实际的游戏开发中,特别是Q版或追求艺术表现的网络游戏中,为了能够更加突显魔法的绚丽与雍华,设计师们会为魔法增加大量的画面体现:例如被冻结的精灵脚底长出冰刺(或被装进一块冰晶中);灼伤的精灵会周身燃烧;中毒的精灵会不停的冒着毒泡泡;麻痹中的精灵浑身会不停的穿梭着电流等等,这些修饰使得魔法的魅力提升到极至,同时也是游戏幽雅细节的原创 2009-09-17 16:17:00 · 4008 阅读 · 1 评论 -
WPF/Silverlight深度解决方案:(五)基于像素的图像合成(For Silverlight)
本节我将为大家讲解如何在Silverlight平台上实现上一节中的纸娃娃系统,即WPF->Silverlight的移植。众所周知Silverlight是WPF的子集,Silverlight对像素位图的处理是在3.0版本之后才开始支持,本节我将大量的用到它: WriteableBitmap – 传说中神话的代言人。移植过程分两步。首先移植表现层xaml,大家需要特别注意的是Sil原创 2009-09-21 07:09:00 · 2473 阅读 · 0 评论 -
WPF/Silverlight深度解决方案:(四)基于像素的图像合成(For WPF)
传统的基于GDI或GDI+的图形开发大家再熟悉不过了,通过Drawing类可以轻松的对位图进行处理,那么在WPF中的Media类是否也拥有同样类似的方法功能呢?这是肯定的。本节我以精灵装备合成Show(纸娃娃)为例向大家演示如何在WPF中实现基于像素的图象合成。首先准备一下合成用的素材:统一好它们的规格尺寸及命名后将之嵌入进项目资源:接下来是进行绘图的第一步:创建绘图工具实原创 2009-09-20 15:33:00 · 3322 阅读 · 1 评论