摘要: WPF中的数据绑定提供了很强大的功能。与普通的WinForm程序相比,其绑定功能为我们提供了很多便利,例如Binding对象的自动通知/刷新,Converter,Validation Rules,Two Way Binding等功能,省去了很多维护的繁琐工作。另外对于WPF中提供的数据模板功能,让我们可以轻松定制可以被复用的控制呈现的模块—但这是以数据绑定为前提来做到轻松易用的效果的。数据提供者例如XmlDataProvider和ObjectDataProvider更是简化了将对象以特定方式绑定并呈现的过程。可以说,数据绑定是WPF中让我们真正能够开始体现其便利性的特征之一,而对以数据驱动的应 阅读全文
posted @ 2013-12-17 19:36 DragonX 阅读(247) 评论(0) 推荐(0)
摘要: 1.播放音频MediaElement 的LoadedBehavior需要设置为Manual,这样才可以手动控制视频的播放状态。详细参见http://www.cnblogs.com/gnielee/archive/2010/05/06/wpf4-media-player-mediaelement.html Play c#代码 private void cmdPlay_Click(object sender, RoutedEventArgs e) { img.Source = new Bi... 阅读全文
posted @ 2013-12-17 13:05 DragonX 阅读(359) 评论(0) 推荐(0)
摘要: 1.//启用自定义字体此示例需将Bayernttf字体放置于工程目录下 "./#Bayern" ,如果为已安装的字体则不需要 This is an embedded font 2.//在button里绘制多边形 3.//把lable和textbox进行绑定 Choose _A Choose _B 4.//RadioButtonGroup 不指定GroupName 则按父容器划分 Group 1 ... 阅读全文
posted @ 2013-12-16 15:28 DragonX 阅读(409) 评论(0) 推荐(0)
摘要: 1. 2.public class Window1 : Window { private Button button1; public Window1(string xamlFile) { InitializeComponent(xamlFile); } ... 阅读全文
posted @ 2013-12-16 09:48 DragonX 阅读(406) 评论(0) 推荐(0)
摘要: 在两个不同的实体(两个线程或者进程甚至机器、在Managed和Unmanaged之间)进行方法调用和参数传递的时候,具体的调用方法和参数的内存格式可能需要一定的转换,这个转换的过程叫做Marshal。Marshal就是把一个结构(类)序列化成一段内存,然后送到另一个进程(.net中Applicationdomain)中供另一个进程中的函数使用。比如你的一个结构struct{Penpen;}s;s是一个指向已有的Pen对象的引用,当你把s传给本进程中的一个函数f时,f可以很容易地找到pen的实际对象,但如果你把s传到另外一个进程时,甚至是另外一台机器上的进程时,这个进程就没办法找到pen的实际内 阅读全文
posted @ 2013-12-14 12:59 DragonX 阅读(8600) 评论(1) 推荐(3)
摘要: by AKara 2010-12-09 @http://blog.csdn.net/akara@ akarachen(at)gmail.com @weibo.com/akaras 谈到游戏AI,很明显智能体拥有的知识条目越多,便显得更智能,但维护庞大数量的知识条目是个噩梦:使用有限状态机(FSM),分层有限状态机(HFSM),决策树(Decision Tree)来实现游戏AI总有那么些不顺意。 试试Next-Gen AI的行为树(Behavior Tree)吧。 虽说Next-Gen AI,但距其原型提出已有约10年时间,而Halo系列(HFSM like),Spore,Crysis 2,Re 阅读全文
posted @ 2013-12-11 18:44 DragonX 阅读(547) 评论(0) 推荐(0)
摘要: 说明:游戏的AI是一个听上去很高深但又是每一个玩家都有着直接明了的体会的东西。在目睹了游戏里面的AI人物做出种种神奇的举动之后,你会禁不住想要了解到底这些看上去很有智慧的行为是怎么实现的。要以普通玩家的身份分析游戏的AI结构实在是太难了,好在网络上流传着一些这方面的相对浅显易懂的资料。游戏开发者会议是游戏理论方面权威的机构,在最近的GDC会议上,有两个游戏先后有机会在大会上作了关于它们的AI系统的演讲,一个是Halo系列,另一个就是Killzone。你可能会以为这样的演讲比较难以理解,但我仔细看过之后发现其实他们的表达方式还是很面对大众的,尤其是在Halo的演讲中,他们公开表示这样的内容所期望 阅读全文
posted @ 2013-12-11 18:34 DragonX 阅读(1223) 评论(0) 推荐(0)
摘要: http://univasity.iteye.com/blog/1292658关于开源许可现今存在的开源协议很多,而经过Open Source Initiative组织通过批准的开源协议目前有60多种(http://www.opensource.org/licenses/alphabetical)。我们在常见的开源协议如BSD, GPL, LGPL,MIT等都是OSI批准的协议。基本概念1.Contributors 和 RecipientsContributors(贡献者)——指的是对某个开源软件或项目提供了代码(包括最初的或者修改过)的人或实体(退队、公司、组织等)。按照贡献的先后可分为&q 阅读全文
posted @ 2013-12-11 13:52 DragonX 阅读(289) 评论(0) 推荐(0)
摘要: 绘制一个Cube public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void glControl1_Resize(object sender, EventArgs e) { //改变大小时触发的事件,在程序启动时将会触发一次 GLControl c = sender as GLControl; //获取glControl1 ... 阅读全文
posted @ 2013-12-10 19:38 DragonX 阅读(1313) 评论(1) 推荐(0)
摘要: 一、丹药类 每点武力值提高普通攻击力=等级*10% 每点武力值提高普通防御力=等级*7% 每点绝技值提高绝技攻击力=等级*10% 每点绝技值提高绝技防御力=等级*7% 每点法术值提高法术攻击力=等级*10% 每点法术值提高法术防御力=等级*7% 二、属性计算 1、普通攻击力=武器普通攻击+命格攻击+封灵普通攻击+武力值*等级*10%+奇术攻击+阵法攻击(*使用该阵法时) 2、绝技攻击力=武器绝技攻击+战魂攻击+命格攻击+封灵绝技攻击+绝技值*等级*10%+奇术攻击力+阵法绝技攻击(*使用该阵法时) 3、普通防御力=防具普通防御力+命格普通防御+封灵普通防御+武力值*等级*1... 阅读全文
posted @ 2013-12-08 15:28 DragonX 阅读(872) 评论(0) 推荐(0)