Welcome 微信登录

首页 / 软件开发 / C#

无废话C#设计模式之十八:Command

无废话C#设计模式之十八:Command

无废话C#设计模式之十八:Command2010-01-13 博客园 lovecherry意图将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤消的操作。场景我们知道,网络游戏中的客户端需要不断把当前人物的信息发送到游戏服务端进行处理(计算合法性、保存状态到数据库等)。假设有这样一种需求,在服务端收到客户端的请求之后需要判断两次请求间隔是不是过短,如果过短的话就考虑可能是游戏外挂,不但不执行当前请求还要...
无废话C#设计模式之十九:Observer

无废话C#设计模式之十九:Observer

无废话C#设计模式之十九:Observer2010-01-13 博客园 lovecherry意图定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时, 所有依赖于它的对象都得到通知并被自动更新。场景这次不说游戏了,假设我们需要在一个Web页面上分页显示数据。首先需要一个分页控制器和一个显示数据的表格。开始,客户的需求很简单,需要两个向前翻页向后翻页的按钮作为控制器,还需要一个GridView来显示数据。你可能会这么做:l 在页面上放两个按钮和一个G...
无废话C#设计模式之二十:Mediator

无废话C#设计模式之二十:Mediator

无废话C#设计模式之二十:Mediator2010-01-13 博客园 lovecherry意图用一个中介对象来封装一系列对象的交互。中介者使得各对象不需要显式相互引用,从而使其松散耦合,而且可以独立地改变它们之间的交互。场景我们知道,一个网络游戏往往有很多大区。每一个大区可以是一组服务器,也可以是多组服务器,在这里假设一个大区是一组服务器。为了效率,一般每个大区都会有一个数据库,玩家的创建角色、充值、消费行为只是在这一个大区中有效。现在公司有了新的需求,...
无废话C#设计模式之二十一:Visitor

无废话C#设计模式之二十一:Visitor

无废话C#设计模式之二十一:Visitor2010-01-13 博客园 lovecherry意图实现通过统一的接口访问不同类型元素的操作,并且通过这个接口可以增加新的操作而不改变元素的类。场景想不出什么好例子,我们在组合模式的那个例子上进行修改吧。我们知道,无论是游戏大区、游戏服务器还是游戏的服务都是一个元素,只不过它们的层次不一样。对于这样的层次结构,我们使用了组合模式来统一各层的接口,这样对游戏大区的操作和对游戏服务器的操作对调用方来说没有什么两样。在...
无废话C#设计模式之二十二:总结(针对GOF23)

无废话C#设计模式之二十二:总结(针对GOF23)

无废话C#设计模式之二十二:总结(针对GOF23)2010-01-13 博客园 lovecherry比较设计模式常用程度适用层次引入时机结构复杂度Abstract Factory比较常用应用级设计时比较复杂Builder一般代码级编码时一般Factory Method很常用代码级编码时简单Prototype不太常用应用级编码时、重构时比较简单Singleton很常用代码级、应用级设计时、编码时简单Adapter一般代码级重构时一般Bridge一般代码级设计...
用c#和GDI+实现杂志翻页动画效果

用c#和GDI+实现杂志翻页动画效果

用c#和GDI+实现杂志翻页动画效果2010-01-13 blog.csdn.net 周公说明:以前本人参与个一个电子杂志项目,当时要求实现模拟现实生活中的杂志翻页动画效果,别人推荐了这篇文章,最后达到了我想要的效果,今天尝试把这篇文章翻译了一下。希望对英语水平不太好的同行有帮助。如果你的英语水平足够好,我推荐你阅读英文原文,网址是:http://www.codeproject.com/KB/GDI-plus/TurnThePage.aspx,同时希望大家...
C#开发WPF/Silverlight动画及游戏系列教程(Game Course):(一)让物体动起来①

C#开发WPF/Silverlight动画及游戏系列教程(Game Course):(一)让物体动起来①

C#开发WPF/Silverlight动画及游戏系列教程(Game Course):(一)让物体动起来①2010-01-25 博客园 深蓝色右手序:自从QXGame(WPF GAME ENGINE)游戏引擎公布以来,受到很多朋友的热切关注,于是乎有了写教程的想法。那么从今天开始,我将带领大家一步一步的学会如何使用纯C#开发WPF/Silverlight游戏引擎,过程中我会尽量的开源,并对相关小技巧进行解释和介绍,比较复杂的算法原理我会给大家一条绝对可行的思...
C#开发WPF/Silverlight动画及游戏系列教程(Game Course):(二)让物体动起来②

C#开发WPF/Silverlight动画及游戏系列教程(Game Course):(二)让物体动起来②

C#开发WPF/Silverlight动画及游戏系列教程(Game Course):(二)让物体动起来②2010-01-25 博客园 深蓝色右手第二种方法,CompositionTarget动画,官方描述为:CompositionTarget对象可以根据每个帧回调来创建自定义动画。其实直接点,CompositionTarget创建的动画是基于每次界面刷新后触发的,与窗体刷新率保持一致,所以频率是固定的,很难人工介入控制。那么如何使用它?xaml的界面代码还...
C#开发WPF/Silverlight动画及游戏系列教程(Game Course):(三)让物体动起来③

C#开发WPF/Silverlight动画及游戏系列教程(Game Course):(三)让物体动起来③

C#开发WPF/Silverlight动画及游戏系列教程(Game Course):(三)让物体动起来③2010-01-25 博客园 深蓝色右手第三种方法,DispatcherTimer动画,该类型动画与CompositionTarget动画类似,是基于界面线程的逐帧动画,但他与CompositionTarget动画不同,DispatcherTimer动画可以轻松的进行参数设置:xaml界面代码仍然沿用第一节的,那么接下来我们在后台代码中创建相关对象:Re...
C#开发WPF/Silverlight动画及游戏系列教程(Game Course):(四)

C#开发WPF/Silverlight动画及游戏系列教程(Game Course):(四)

C#开发WPF/Silverlight动画及游戏系列教程(Game Course):(四)2010-01-25 博客园 深蓝色右手C#开发WPF/Silverlight动画及游戏系列教程(Game Course):(四)实现2D人物动画①通过前面的学习,我们掌握了如何动态创建物体移动动画,那么接下来我将介绍WPF中如何将物体换成2D游戏角色,并通过使用前面所讲的DispatcherTimer计时器来实现2D人物角色的各种动作动画。动态实现2D人物角色动画目...
C#开发WPF/Silverlight动画及游戏系列教程(Game Course):(五)

C#开发WPF/Silverlight动画及游戏系列教程(Game Course):(五)

C#开发WPF/Silverlight动画及游戏系列教程(Game Course):(五)2010-01-25 博客园 深蓝色右手C#开发WPF/Silverlight动画及游戏系列教程(Game Course):(五)实现2D人物动画②第二种方法我称之为图片截取法,准备工作:这里我以创建主角向右方向施法动画为例。首先需要将10帧150*150的图片通过Photoshop或其他方式合成为一张1500*150的大图,如下图:从图上可以很清晰的看出主角的整个流...
C#开发WPF/Silverlight动画及游戏系列教程(Game Course):(六)完美移动

C#开发WPF/Silverlight动画及游戏系列教程(Game Course):(六)完美移动

C#开发WPF/Silverlight动画及游戏系列教程(Game Course):(六)完美移动2010-01-25 博客园 深蓝色右手经过前面的介绍和学习,我们分别掌握了如何点击鼠标让对象移动,并且实现2D人物的动作动画。那么,如何将两者完美的进行融合呢?这一节的内容将涉及到很多重要的技术及技巧,很关键哦。那么同样的,前台xaml还是保持不变,接下来看后台C#第一部分:int count = 0;Image Spirit;Storyboard stor...
C#开发WPF/Silverlight动画及游戏系列教程(Game Course):(七)

C#开发WPF/Silverlight动画及游戏系列教程(Game Course):(七)

C#开发WPF/Silverlight动画及游戏系列教程(Game Course):(七)2010-01-25 博客园 深蓝色右手C#开发WPF/Silverlight动画及游戏系列教程(Game Course):(七)传说中的A*寻径算法关于地图引擎方面的处理涉及到两个方面的知识:1)地图的实现(包括地图的切割、合成、呈现方式等)2)地图物件的实现(包括地图中实现寻路、遮罩、传送点等)为了让大家能更加有兴趣深入后面的知识,我选择先从地图寻路开始讲解吧:目...
C#开发WPF/Silverlight动画及游戏系列教程(Game Course):(八)

C#开发WPF/Silverlight动画及游戏系列教程(Game Course):(八)

C#开发WPF/Silverlight动画及游戏系列教程(Game Course):(八)2010-01-26 博客园 深蓝色右手C#开发WPF/Silverlight动画及游戏系列教程(Game Course):(八) 完美实现A*寻径动态动画本节将紧接着上一节,在它的基础上实现鼠标点击动态创建完美的A*寻路动画。(模拟游戏中人物的真实移动,这次可是有障碍物的,可以说基本上完成了人物移动引擎的一半了呢)首先,在上一节的代码前部分加入一个叫做player的...
C#开发WPF/Silverlight动画及游戏系列教程(Game Course):(九)

C#开发WPF/Silverlight动画及游戏系列教程(Game Course):(九)

C#开发WPF/Silverlight动画及游戏系列教程(Game Course):(九)2010-01-26 博客园 深蓝色右手C#开发WPF/Silverlight动画及游戏系列教程(Game Course):(九) 2D游戏角色在地图上的移动本节将运用前两节的知识到实际的2D游戏人物在地图上移动中,同时也算是对前面八节的内容进行一次综合运用吧。那么先从最底层的地图讲起。首先我将一张地图添加进游戏窗口中,这里我同样使用Image控件:Image Map...
C#开发WPF/Silverlight动画及游戏系列教程(Game Course):(十)

C#开发WPF/Silverlight动画及游戏系列教程(Game Course):(十)

C#开发WPF/Silverlight动画及游戏系列教程(Game Course):(十)2010-01-26 博客园 深蓝色右手C#开发WPF/Silverlight动画及游戏系列教程(Game Course):(十)斜度α地图的构造及算法在当前的网络游戏中,地图基本都是采取一定斜度的拼装地图,这其中存在两种斜度地图的构造方式:第一种我称之为伪斜度地图:该类型地图表现层图片为斜度的,但地图基底障碍物等的构造则实为正方形,如下图:其实最典型的例...
C#开发WPF/Silverlight动画及游戏系列教程(Game Course):(十一)

C#开发WPF/Silverlight动画及游戏系列教程(Game Course):(十一)

C#开发WPF/Silverlight动画及游戏系列教程(Game Course):(十一)2010-01-26 博客园 深蓝色右手C#开发WPF/Silverlight动画及游戏系列教程(Game Course):(十一)地图遮罩层的实现前面的章节主要针对地图表现层进行讲解。通常来说,简单的游戏光有它就足够了;但是为了达到更加真实的光影效果,模拟真实的虚拟世界,我们还得继续在地图上下大工夫。本节将就如何实现地图中的遮罩层,即物体对角色的遮挡进行详细讲解。...
C#开发WPF/Silverlight动画及游戏系列教程(Game Course):(十二)

C#开发WPF/Silverlight动画及游戏系列教程(Game Course):(十二)

C#开发WPF/Silverlight动画及游戏系列教程(Game Course):(十二)2010-01-26 博客园 深蓝色右手C#开发WPF/Silverlight动画及游戏系列教程(Game Course):(十二)神奇的副本地图前面几节详细的讲解了游戏地图的完整构造,比较有难度的是关于地图内层如障碍物的实现。A*算法往往能让众多的初学者望而止步,斜度α地图则更需要一定的几何知识及抽象思维。很多朋友就问了:什么年代了,都在说面向对象、提...
C#开发WPF/Silverlight动画及游戏系列教程(Game Course):(十三)

C#开发WPF/Silverlight动画及游戏系列教程(Game Course):(十三)

C#开发WPF/Silverlight动画及游戏系列教程(Game Course):(十三)2010-01-26 博客园 深蓝色右手C#开发WPF/Silverlight动画及游戏系列教程(Game Course):(十三)牵引式地图移动模式①在前面诸多的章节里,我就地图构造的实现做了讲解,至此还遗留着一个关键问题:在游戏中是角色在移动还是地图在移动?它们之间的移动(位移)关系是如何实现的?那么在接下来的章节中我将围绕这两个问题进行详细的分析解说。首先,还...
C#开发WPF/Silverlight动画及游戏系列教程(Game Course):(十四)

C#开发WPF/Silverlight动画及游戏系列教程(Game Course):(十四)

C#开发WPF/Silverlight动画及游戏系列教程(Game Course):(十四)2010-01-26 博客园 深蓝色右手C#开发WPF/Silverlight动画及游戏系列教程(Game Course):(十四) 精灵控件横空出世!①在上一节中,我们实现了地图牵引式移动,同时还遗留着一个小尾巴:主角和障碍物该如何跟随着地图的移动而移动?上节中有点到,只要在地图移动的同时,时时根据主角等对象物体的X,Y坐标进行相对于地图的X,Y坐标移动即可达到目...
<< 21 22 23 24 25 26 27 28 29 30 >>