- 博客(27)
- 收藏
- 关注
原创 protoc-gen-lua的坑
ToLua#里面集成了这个东西,但是这个东西有坑https://github.com/sean-lin/protoc-gen-luaGoogle并没有提供转到lua的解决方案,所以目前的解决方案其实应该是先转成python,然后利用python转成lua吧,所以集成的时候要安装python。但是这个东西有个坑,就是如果一个proto文件import另一个之后,尤其是里面还有repe
2017-05-24 14:06:28
2997
2
原创 Tolua#添加云风的PBC插件
由于我没有mac,所以没有xcode,所以没有编iOS版本的windows下用msys2+mingw64去编译。1. 下载msys2, http://www.msys2.org/ ,下载安装好之后打开,按照官网安装说明先更新一波2. 参考这个 https://github.com/topameng/tolua_runtime/wiki ,安装mingw64就行,32位看情况吧。现在版
2017-05-23 17:38:40
2193
原创 备忘——Animator
以下内容纯属个人笔记备忘,不喜勿喷Unity的animator就是动作状态机,可以方便的用来切换动作制作方式很简单1. 做个状态机2. 挂Animator脚本,把状态机拖到Controller上去3. Parameters可以加入切换参数,一般int也就够了4. 做几个状态,连线,一般是从Any State向外连接,注意每条线的参数里面,Settings里面有Can
2017-05-16 20:00:52
197
原创 每日设计模式——解释器模式
嗯,中介者模式和状态模式一样,代码中出了点暂时无法解决问题,所以还没有实现。解释器模式的代码写出来了,然后也跑出来了,但是想了半天也没想通游戏里怎么应用。 解释器模式,给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。看起来好像编译原理里面的词法分析和语法分析哦……其适用性体现在当一个语言需要解释执行的时候,并且可以将该语
2011-06-05 00:14:00
875
原创 每日设计模式——职责链模式
<br /> 首先,我想说,CSDN真的是做的够烂的,可能我师姐说的ASP肯定是要被淘汰的这话没什么错吧……就这个龟爬一样的速度外加只支持ie内核,我真的觉得混CSDN是不是一个错误……算了,好歹人家也做得不错,起码比我强,我还是不要抱怨啥了……<br /> 职责链模式,使多个对象都有机会处理请求,从而避免请求的发送者和接受者之间的耦合关系。将这个对象连成一条链,并沿着这条链传递该请求,知道有一个对象处理它为止。其适用性在于:有多个对象可以处理一个请求,那个对象处理该请求运行时刻自动确定;
2011-06-03 01:35:00
880
1
原创 每日设计模式——命令模式
命令模式,讲一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化,对请求排队或记录请求日志,以及支持可撤销的操作。Gof的设计模式里关于其适用性太长了,简单点说哈。这个模式可以容易的将命令计入日志,并且允许接受请求的一方决定是否要否决请求,它可以容易的实现对请求的撤销和重做,并且可以容易的加入新的命令。它可以在不同的时刻指定、排列和执行请求。 《大话设计模式》里举得例子是吃烤羊肉串,如果厨师直接和客户交互的话,很有可能发生记错,搞混、不先来后到等问题。如果厨师对客户屏蔽,客户
2011-06-02 02:02:00
376
原创 每日设计模式——迭代器模式
<br /> 我委实不知道这个模式该怎么写,这个基本已经被淘汰的模式。其实好多地方都用到迭代器的,它被各种封装了。而且用C++自己写一个迭代器貌似不靠谱吧,我研究了半天也没发现C++是不是像C#或者Java一样有一个超基类Object,所以这个代码没法写……不过其实之前的代码有用到迭代器,貌似那几个用了容器的模式的实现是用了迭代器的,就是那个用了iterator的地方那就是迭代器。<br /> 迭代器模式的意图是提供一种方法顺序访问一个聚合对象中各个元素,而又不需要暴露该对象的内部表示。
2011-06-01 01:18:00
372
原创 每日设计模式——备忘录模式
悲剧了,周六那天不知道怎么了,困得要死,然后就直接睡过去了……结果状态模式看是看了,但是实现的时候出了些问题,反正是不通。昨天赶工,然后回来也只看了备忘录模式,只来得及实现,结果……学校断网,没有办法,只好先实现了,然后今天来更新,结果今天忘了把《大话设计模式》带回来,迭代器模式虽然看了,但是实现的话恐怕有点难度……而且迭代器模式,嗯,好多语言都封装了各种迭代器,就像工厂模式也被各种封装了一样,所以,确实觉得这种已经被封装好了的东西只要会用成品就可以,就没怎么仔细看代码……嗯,明天实现吧。
2011-05-31 00:33:00
426
原创 每日设计模式——观察者模式
观察者模式,定义对象间一种一对多的一览关系,当当一个对象的状态发生改变时,所有依赖于他的对象都得到通知通知并被自动更新。其适用性在于,当一个抽象模型有两个方面,其中一个方面依赖于另一个方面,将这两者封装在独立的对象中以使他们可以各自独立的改变和复用;当一个对象的改变需要同时改变其他对象,而不知道具体有多少对象有待改变;当一个对象必须通知其他对象,而它又不能假定其他对象是谁。
2011-05-28 01:25:00
366
原创 每日设计模式——模板方法模式
悲剧了,明天还跟人有约……不是约会,是工作……今天听同学说了一下古剑破解版的事,心里那个难过,上六维搜了搜,到是没有古剑的破解版,但是看到一个破解激活码的vb的工程,我也不想弄到vs里面转一圈,可是有这么个东西真是让人难过啊……万一是个木马麻烦了哈……唉,我那个时候难受的想哭……不知道工长君当年是怎么撑过来的,仙三,仙三外,仙四……出一个一个被疯狂盗版,上软那些年是怎么过来的,想想就心酸,就更佩服工长君,这么恶劣的环境居然还能继续坚持下来,这份坚韧实在是让我钦佩不已,叹服不已!
2011-05-27 10:00:00
323
原创 每日设计模式——策略模式
<br /> 策略模式,定义了算法家族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化不会影响到使用算法的客户。其适用性体现在,很多相关类仅仅是行为有异,可以使用策略模式用这n个行为中的一个配置这个类;使用一个算法的不同变体,这个算法的结果是相同的,区别在于时间或空间复杂度不同;算法使用客户不应该知道的数据;一个类定义了多种行为,此时去掉条件分支,将这些分支移入具体的策略中去代替这些条件语句。<br /> 《大话设计模式》里面举得例子是商场打折的例子,而且将策略模式和简单工厂结
2011-05-26 00:38:00
503
原创 每日设计模式——享元模式
享元模式,运用共享技术有效地支持大量细粒度的对象。其适用性在于,一个应用程序使用了大量的对象,这些对象造成了很大的存储开销,而且这些对象的大多数状态可以变为外部状态,如果删除这些对象的外部状态,就可以用相对较少的共享对象取代很多组对象。 《大话设计模式》里面举得例子是项目多也别傻做,当有很多结构相似度非常高的网站时,没必要为这些网站申请多个虚拟空间,这样非常浪费服务器的资源。这些网站可以共享硬件设备,而代码只要共享一份实例就够了。这个例子我觉得不如那个下棋的例子好,比如我们现在下五子棋,
2011-05-25 01:33:00
532
原创 每日设计模式——组合模式
<br /> 组合模式将对象组合成树形结构以表示“部分-整体”的层次结构。组合模式使得用户对单个对象和组合对象的使用具有一致性。通常用在以下两种情况,想表示对象的部分-整体层次结构;希望用户忽略组合对象与单个对象的不同,用户将统一的使用组合结构中所有对象。这个模式非常常用,Gof的设计模式中说,某个软件几乎每个用户界面工具箱或者框架都应用了这个模式。<br /> 《大话设计模式》里举得例子是一个树形结构的公司办公管理系统,总部下属分公司和各部门,分公司下属办事处和各部门,办事处下属各部
2011-05-24 01:26:00
414
原创 每日设计模式——桥接模式
<br /> 桥接模式,将抽象部分与它的实现部分分离,使他们都可以独立地变化。其主要目的就是不要盲目的使用继承,因为继承是一种强耦合结构,父类变,子类就要跟着变。所以在使用继承时,一定是“is-a”关系时才使用。桥接模式简单点来说就是实现系统可能有多角度分类,每一种分类都有可能变化,那么就把这种多角度分离出来让它们独立变化,减少他们之间的耦合。其适用性体现在,1.不希望在抽象和它的实现部分之间有一个固定的绑定关系;2.类的抽象以及它的实现都应该可以通过声场子类的方法加以扩充;3.一个抽象的实现部分
2011-05-23 00:29:00
345
原创 ActionScript语法备忘
1. 通常一个强类型语言的数据类型的数据类型的定义都是在变量名之前的,弱类型语言一般定义成var,或者干脆不定义。但是ActionScript比较奇怪,如果不强调var会报错,但是却可以不说明数据类型。如果说明数据类型的话要在变量后面跟个:(例如 var count:int = 0;),然后声明其数据类型。觉得这样就模糊了强类型语言与弱类型语言之间的界限了,说不上好与不好,习惯问题吧。 2. 函数的声明也是这样的,前面用关键字function说明后面这段东西是函数,参数跟在函数名后面,然后
2011-05-22 16:41:00
479
原创 每日设计模式——适配器模式
<br /> 适配器模式,将一个类的接口转换成客户希望的另外一个接口。适配器模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。在C++中,因为支持多重继承,要注意客户希望的那个接口使用公共继承,原来的接口使用私有继承。但是,多重继承这档子事容易出现各种错误,还是单一继承比较好。所以,原来的类可以实例化其一个对象,然后对其对象进行操作,这样出错的几率就比较低了。不过这只是个人看法啊,也没有从效率角度考虑这个问题,不过估计这样做效率会比较低,但是从整体产品的角度来说,安全还是第一位的。再强
2011-05-22 01:01:00
536
原创 每日设计模式——代理模式
<br /> 代理模式,为其他对象提供一种代理以控制对这个对象的访问。一般用在为一个对象在不同的地址空间提供局部代表的远程代理;或者根据需要创建开销很大的对象的虚拟代理,通过其来存放实例化需要很长时间的真实对象;或者控制真实对象访问时的权限的安全代理;或者取代简单指针的智能指引。语出自《大话设计模式》。<br /> 《大话设计模式》里面举得例子是替别人送情书,结果顺便连小姑娘都骗到手。基本上就是说定义一个泡妞接口,让追求者实现这个接口,代理也实现这个接口,只不过代理中的实现方法调用的是追
2011-05-21 01:40:00
1755
原创 每日设计模式——外观模式
<br /> 今天终于能早点了,感觉真好~其实是外观模式比较简单,理解起来比较容易。<br /> 外观模式,为子系统中一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。当出现以下几种情况时适合使用外观模式,1.为一个复杂的子系统提供一个简单的接口;2.客户程序与抽象类的实现部分之间存在很大的依赖性,引入外观模式将这个子系统与客户及其他子系统奋力,提高子系统的独立性和可移植性;3.构建层次子系统时,使用外观模式定义子系统中每层的入口点。<br />
2011-05-20 00:12:00
358
原创 每日设计模式——装饰模式
<br /> 装饰模式动态的给一个对象添加一些额外的职责,就增加功能来说,装饰模式比生成子类更灵活。其适用性体现在不影响其他对象的情况下,以动态、透明的方式给单个对象添加职责。语出自Gof《设计模式》。<br /> 《大话设计模式》里讲到装饰模式的方法就是非常简单的对一个人进行装饰——穿衣服,那就可以把具体的人理解为一个对象,衣服,鞋子,太阳镜等都是装饰物,如果不考虑身材和衣物的大小的话,其实衣服可以随便穿,顺序无所谓,只要你敢穿,这就是装饰模式的精髓。但实际情况中,顺序很重要,所以在应
2011-05-19 01:58:00
448
原创 每日设计模式——抽象工厂模式
抽象工厂模式,提供一个创建一系列相关或者相互依赖对象的接口,而无需指定它们具体的类。如果说工厂模式是一个工厂对应了一个产品的话,那么抽象工厂模式就是一个工厂对应了一个系列的产品。 《大话设计模式》中举得例子是数据库的迁移问题,同时提到了反射的问题,话说C++的反射怎么实现我现在基本上只是有一个非常模糊的想法,但是还没有具体的看是否可行或者别人是怎么实现的,所以只能对用了反射之前的实现方法做简单的描述和实现。回归正题啊,不同数据库的访问方式,SQL语句等都有区别,但是对于外部的程序员来说
2011-05-18 01:38:00
395
原创 每日设计模式——工厂方法模式
<br /> 工厂方法模式定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类。(语出自《大话设计模式》)简单工厂模式因为再添加新内容时要对工厂类进行修改,故而不符合开放-封闭原则,而工厂类将选择延迟到客户端,在添加新内容时只要增加相应的产品和工厂即可,故而符合开放-封闭原则的。<br /> 《大话设计模式》里举得工厂方法模式的例子是数学运算,和学雷锋做好事的例子,其中雷锋可以当做产品接口,而各种学雷锋的不同的人就是具体实现的产品。另外要设置一个雷锋
2011-05-17 01:40:00
290
原创 每日设计模式——建造者模式
建造者模式就是要讲一个复杂对象的构建与它的表示分离,使的同样的构建过程可以创建不同的表示。主要用于创建一些复杂的对象,这些对象内部构建见得建造顺序通常是稳定的,但对象内部的构建通常面临着复杂的变化。语出自《大话设计模式》 在大话设计模式里举得例子是构建小人,用户不需要知道建造的具体过程,因为建造者隐藏了小人的组装方式,即头、身子、手脚等部件,用户只要指定构造怎样的小人就可以了。建造的代码与表示的代码是分离的。 在古剑中,建造者模式可以用来构建不同种类的NPC,NPC的差距主要
2011-05-16 02:03:00
440
原创 每日设计模式——原型模式
原型模式的作用是用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。 《大话设计模式》里举得例子是写简历,一份简历只要写一次,剩下的通过克隆就可以实现新简历的生成,而且可以修改新简历的信息。 网友举的一个例子我以为更合适,就比如你去配钥匙,配钥匙的店主只给你提供配钥匙的服务,但是钥匙是什么样的他并不知道,必须你拿了钥匙去他才能给你配出来一样的。即需要一个提供服务的对象,还要提供原型,缺一不可。 这样,就有了原型模式的特点。 1. 基类是个
2011-05-15 02:02:00
346
原创 每日设计模式——单例模式
有些时候,一个类只能有一个实例,即只能被实例化一次。如果已经有该类的对象,那么就直接调用该类的对象,如果没有,就实例化该类。单例模式的特点如下: 1. 构造函数私有,即杜绝了从外部构造该类的对象的可能。 2. 有一个私有的静态的该类的指针,表示该类是否已经有对象了,如果没有就实例化一个对象出来,如果有就直接返回已经实例化的对象。 3. 有一个公有的Instance函数,此方法是获得本类实例的唯一的全局访问点(语出自大话设计模式)。在C++中,该方法为静态方法。具体实现如下:si
2011-05-13 00:16:00
280
原创 C++一些注意点
1. 数据类型定义时要注意,长整型或者其他加了long关键字的数据类型在说明的时候L要用大写,以免小写l和1不分。2. 变量命名习惯要统一,要么就用驼峰原则,首字母小写,其后的单词首字母大写,例如moneyIn,要么就用下滑线money_in,但不管怎么说,要保持一致,不要想到哪个就用哪个。3. C++应当注意变量的初始化!!!尤其是用惯了C#,Java等语言之后和容易忽略这点,如果没有初始化的话,很容易出现各种问题。另外,初始化分为复制初始化和直接初始化两种方法,据说直
2011-05-12 01:00:00
586
1
原创 CodeIngniter学习第一天——Hello World
CodeIngniter是一个简单的php的MVC框架,体现在其结构中即Application文件夹中有models,controllers,views三个文件夹。 目前的学习仅知view文件夹中存放页面文件,页面中是可以使用简写的,比如调用一个调用它的controller文件中定义的变量的时候,不用写了,只要写成即可。 controllers文件夹中存放控制文件,这个控制文件的内容是一个类,这个类要继承Controller这个类,不过其2.0.0版本中的实例继承的是CI_Control
2011-02-25 00:56:00
693
原创 C#工具栏合并问题
当使用MDI技术时,为了美观或者什么原因可能需要合并工具栏。方法如下(http://blog.csdn.net/zyc21st/archive/2007/04/21/1573921.aspx):在MDI窗体定义 public interface ICipherInputForm { ToolStrip CipherToolStrip
2010-04-15 11:02:00
1250
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人