自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 资源 (2)
  • 收藏
  • 关注

原创 Python与c++的相互调用(一)

最近公司项目使用python,个人突然对游戏引擎中python与c++之间的交互产生了兴趣。正赶上朋友要我帮忙做个五行相生相克的演示程序,于是想到写个hge的python导出库,顺便熟悉下python的c api。特写下此文,记录python与C++相互调用的要点,以便日后查阅。准备工作        首先是配置开发环境了,可以选择编译python源代码,或者直接使用python的安装包。

2012-06-02 13:25:24 1597

原创 CTreeCtrl控件添加排序功能

由于项目需要,要使用MFC。记录下平时遇到的问题。       需求是在CTreeCtrl添加按类型,名字排序功能。其中类型是编辑器内部定义的。       我的做法是通过鼠标右键单击,弹出一个菜单。菜单提供两个选项:按类型、按名字排序。      这里遇到2个知识点:1. 如何弹出菜单。2. 如何排序 1. 弹出菜单:      由于需要提供其他的特殊功能,我子类化了CT

2011-12-19 19:28:37 1457 1

原创 分割文件路径函数 _splitpath()和生成文件路径函数_makepath()

当获得某个文件的完整路径,想要得到其驱动、文件名、扩展名时。不必用字符串查找“.”、“/”或者“:”。使用_splitpath函数就可以轻松的解决问题。            const char* fileName= "C:\Program Files\MS DirectX

2011-08-28 14:46:28 1808

原创 QT实现资源管理器总结

项目中需要实现的资源管理器做完了,使用的是QT,实现TreeView与ListView数据统一显示文件。现在总结一下开发过程中遇到的一些问题以及我的解决方法。1. TreeView与ListView显示文件      Qt的QTreeWidget和QListWidget接

2011-08-27 22:39:13 12288 2

原创 QDockWidget上自定义 Widget 随其自动缩放

场景编辑器需要将场景中的物体作为列表显示。QT中使用QDockWidget做是很漂亮的。        我一开始的做法是,写个类继承QWidget,将QTreeWidget作为成员。然后添加QDockWidgetm_dockwidget = new QDockWidg

2011-08-17 16:19:06 5575 1

原创 API函数CoInitialize(转)

Coinitialize CoInitialize是 Windows提供的API函数,用来告诉 Windows以单线程的方式创建com对象。应用程序调用com库函数(除CoGetMalloc和内存分配函数)之前必须初始化com库。 返回值S_OK : 该线程中COM库初始化成功S_FALSE 该线程中COM库已经被初始化 CoInitialize () 标明以单线程方式创建。 使用 CoInitialize 创建可以使对象直接与线程连接,得到最高的性能。 CoInitialize

2010-09-29 01:58:00 1817

原创 sscanf 用法(转)

     int sscanf(const char*, const char*,…):从一个字符串中读取与制定格式相符的数据。这个函数包换在头文件#include中。      它与scanf类似,都是用于输入。只是sscanf是以字符串参数为输入源,而scanf是以键盘输入为输入源。      第一个参数是输入源,第二个参数代表格式。 格式参数可以是一个或多个 {%[*] [width] [{h | l | I64 | L}]type | ' ' | '/t' | '/n' | 非%符号} 注

2010-09-19 01:56:00 614

原创 使用win api 读写 ini配置文件

     游戏或者其他应用程序需要很多配置信息,比如:窗口的长宽,是否全屏显示。所以每一个游戏都支持配置文件的读取以及写入。     而ini文件因为其结构简单易懂,而被广泛应用。记得在实习培训的时候,python作业要求自己实现读取ini文件。python对字符串的操作很强大,当时就考虑在自己的C++程序中加入这个功能。今天在看代码的过程中惊喜的发现了两个api函数,GetPrivateProfileString和 WritePrivateProfileString分别用于读/写 ini文件。 1.读

2010-09-17 08:07:00 1987

原创 把游戏作为一个状态机

     半年是实习结束了,无论是求职还是实习过程真是一波三折啊。      感慨过后说下正题,经过公司中DEMO开发,我发现以前在教研室做的东西真的是乱做。原来本科学习的有限状态自动机在游戏构架上这么重要,公司DEMO中的构架是基于状态机的,用两组函数指针分别作为状态的保持(doState)和状态的切换(setState)。最近看片游戏构架的文章,标题就是写的不错,下面总结些所学到的知识:

2010-01-06 14:19:00 660

原创 11,12月计划

      已经实习3个月了,感觉除了开了些眼界外,技术上没有太大的提高。计划在剩下的2个月学习工作室多年积累的引擎框架、demo、编辑器框架还有后台程序逻辑。      今天2009年11月10日,从引擎的全插件结构学起吧。

2009-11-10 10:01:00 409

原创 重载++/--运算符

今天看书,看到例子里有个重载自增运算符,前自增还比较好。看后自增的时候有点迷惑。查 c++primer才发现自己这里有知识漏洞。特此补上。  在为类定义自增自减运算符的时候要注意,如何区分前自增/自减 和 后自增/自减运算符。 1 定义前自增/自减运算符 class CheckedPtr{public:     CheckedPtr& operator++();

2009-03-20 11:28:00 775

转载 Traits技术

Traits技术(转自http://comparative.spaces.live.com/blog/) 1.概念Trait的中文意思就是特性,Traits就像特性萃取机,榨取不同类的特性,以便能统一处理。Traits依靠显式模板特殊化(explicit template specialization)来把代码中因类型不同而发生变化的片断拖出来,用统一的接口来包装。这个接口可以

2009-03-19 10:50:00 1487

原创 C++中令人混淆的3个new和delete

在深入学习C++的过程中遇到3个new和delete让我十分迷惑,经过学习,有了点初步理解的感觉。总结如下  C++中,内存分配和对象构造紧密纠缠,就像对象析构和内存回收一样。使用new 表达式的时候,分配内存,并在该内存中构造一个对象,使用delete的时候,调用析构函数撤销对象,并将对象所用内存返还给系统。  C++提供了一下两种方法来分配和释放未构造的原始内存:

2009-03-13 21:25:00 1595

原创 对于静态成员指针的出现的问题

     今天复习设计模式的时候,自己动手写个个小的Singleton模式的简单实现,如下:  class Singleton{private: static Singleton* mInstance; Singleton();  public: static Singleton* getInstance(); };   Single

2009-01-16 23:29:00 1104

原创 c++对象学习笔记(1)

       面向对象的三大特性,封装、继承、多态。从C语言到C++的转变首先接触的是类和对象。C++对数据的封装不会增加成本。C++在布局和存取时间上的额外负担是在使用virtual机制的时候引起的。一般情况下和C语言的结构体无二。      C++ virtual机制包括: 1.虚函数机制:支持执行期绑定2.虚基类:多重继承,只存在一个被共享的虚基类。  一.

2009-01-16 10:45:00 631

原创 c++模板中的 typename 和 template 关键字用法

    最近在看C++的模板,虽然学了、用了C++也有一段时间,对于模板编程这一特性一直没有接触。边学习, 一边写些心得吧。1. typename关键字   不用说,接触过模板的人都知道,typename在模板声明的时候可以代替class关键字,二者可以互换,如:   template       class Container  {    public:    void push(const A

2009-01-05 20:43:00 10686 3

地形算法clipmap

地形算法,基于GPU的地形渲染算法。支持大规模地形渲染,效率高,结构简单

2009-01-07

设计模式迷你手册

设计模式迷你手册,根据gang of four的设计模式,简化版

2008-01-09

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除