- 博客(15)
- 资源 (15)
- 问答 (1)
- 收藏
- 关注
原创 我们的宿舍我们的过去
老狼略带沙哑的声音,像西寺沟的流水,漫不经意地流过错落的石头,淡淡却隽永地荡进我的心里。 《睡在我上铺的兄弟》,你问我何时能一起回去,看看我们的宿舍我们的过去。 我们的宿舍我们的过去。忽然就想起来那天和老朱,在傍晚重游交大。那些原本在岁月的河流中越漂越远的陈年往事,此刻忽然逆流而上,倏忽之间来到眼前。 当年青涩的学生味早已被生活的抹布擦去,我们担心混不进宿舍。
2008-04-19 20:54:00 4705 9
原创 tolua++初探(六)
这是学习tolua++的最后一篇了。在这一篇里完成一个稍微复杂一点的例子(^_^其实还是很简单)。 导出三个类CBase、CDerived1、CDerived2到lua,导出两个函数toDerived1、toDerived2。lua脚本中声明两个函数Derived1Test和Derived2Test,我们在C++中调用。Derived1Test和Derived2Test会调用to
2008-04-18 14:31:00 7544 3
原创 tolua++初探(五)
这个……,tolua++支持采用了单继承的类的直接导出,在lua中可以像在C++中那样访问基类的方法。和其它简单类的导出没什么区别。 只是个简单的示例,我们定义一个控件基类,从它派生一个按钮类。然后在lua中分别访问基类和按钮类的方法。我们导出一个全局变量lbutton,同时也在lua中生成一个新button。 先看实际的头文件inheritance.h,我把
2008-04-18 13:34:00 5111 1
原创 tolua++初探(四)
聚合是最常见的构造新类的方式了,另一个是继承。tolua++支持单继承,后面会提到继承的例子。这里先看看怎么将利用了聚合的类导出到lua中。 我的目的是想在Lua中使用C++类的实例,而不是在lua中生成C++类实例,所以我在利用tolua++向lua导出类时一般不导出构造函数,这样就无法在lua中生成类实例。 但是为了演示的方便,这个例子中用到的两个简单类
2008-04-18 11:42:00 6336 2
原创 tolua++初探(三)
利用tolua++导出类到lua中简单方便,你可以导出静态成员函数、普通成员函数、静态成员变量、普通成员变量,你也可以指定类的哪些方法被导出。你可以将具有单继承的派生类导出,派生类可以很自然地访问基类的方法。更多的细节,请参考tolua++的在线文档。 首先生成实际的c++头文件,定义我们要导出的类。tclass.h内容如下:#ifndef _TESTCLA
2008-04-18 10:18:00 7879 1
原创 tolua++初探(二)
tolua++的源码包中有很多测试例子。这里我用更最简单的例子来学习。 第一个例子是数组。仅仅是把C++中的一个数组导出到Lua中,可以在脚本中访问并修改。 tarray.pkg文件: $#include "tarray.h"extern int g_Arr[10]@Arr; 很简单,$#include "tarray.h",
2008-04-17 17:44:00 10528 1
原创 tolua++初探(一)
用luaplus试验了下,想把简单的C++类映射到lua脚本中不难,但是复杂一点的,比方说类的聚合、继承等,比较麻烦。我试验了两天,用表中表来实现是可以的,但自己弄太麻烦了。说到底,我只是想用一下而已,不是想从头弄一个系统。 用CEGUI时发现它用了tolua++,从网上DOWN了源码(1.0.92),支持Lua5.1。我用VS2005,用源码包里的sln顺利编译出tolua++
2008-04-17 17:20:00 8481 4
原创 LuaPlus学习(四)
一个完整的例子 试验了一个完整的例子。 在C++中生成一个类,注册到lua。 从lua调用C++类的成员函数。 在Alternate.lua中写了阶乘函数factorial。 从C++中调用factorial。 Alternate.lua如下:print("now in alternate.lua");p
2008-04-10 16:15:00 4750 2
原创 LuaPlus学习(三)
从lua调用C++函数和对象 利用LuaPlus可以方便的从C++中调用lua脚本,翻过也一样。通过注册函数或类对象,lua便可以访问C++。 一、C风格函数注册 Lua提供了C风格的回调函数注册,该函数原型如下:int Callback(LuaState* state); 无论是全局函数、类非虚函数、类虚
2008-04-10 11:42:00 6855
原创 DXUTGUI控件的定制(三)
定制控件 DXUTGUI的控件库默认使用内置的纹理资源,这个纹理资源可以在CDXUTDialog的Init函数中指定为我们自己的纹理资源(通常可以用一个图片文件来替代)。在这个系列的第一篇中,介绍了如何使用自己的纹理资源改变整个控件库的风格。 研究CDXUTDialog的InitDefaultElements函数可以发现,DXUTGUI为每种控件定义了若干
2008-04-08 14:47:00 4574 3
原创 LuaPlus学习(二)
用lua做配置文件 可以用lua做程序的配置文件。 LuaPlus提供了读写lua脚本文件的功能,我们可以将配置信息以Table的形式存储在lua脚本中,然后利用LuaPlus进行读取和更改。 一、创建配置文件 配置文件可以用文字编辑器创建,也可以在C++代码中创建。我们先在C++中创建。利用CreateTable创建一个名为"Window"的表格,利
2008-04-08 10:41:00 4375
原创 LuaPlus学习(一)
想在我的项目中使用Lua脚本语言。最初知道Lua是通过CEGUI,后来因为一些原因不打算使用CEGUI了,只好单独使用Lua。在网上看到LuaPlus,貌似比较简单。在此记录学习过程。 可以到这里http://luaplus.org/tiki-index.php?page=LuaPlus+Home+Page下载LuaPlus的win32二进制文件和源码包。从源码包提取头文件,从二进制
2008-04-07 17:24:00 11372
原创 DXUTGUI控件的定制(二)
DXUTGUI提供的默认控件已经实现了透明效果和类似色彩键的效果。在D3D中没有直接的色彩键(direct draw中有)功能,不过可以利用alpha通道实现类似的效果,只是需要图片具有alpha通道。 DXUTGUI的控件纹理正是这样实现的,用photoshop打开保存下来的纹理图片,可以看到其alpha通道的图片。 要在D3D9中实现透明和颜色过滤功
2008-04-07 13:39:00 3964 1
原创 IDirect3DSurface9::LockRect失败的问题
利用FFMPEG和D3D来做视频播放器的试验,想直接操作后台缓冲区,将ffmpeg解码的数据写进去。于是用GetBackbuffer获取了后台缓冲区表面指针,可是LockRect失败,找了几天终于发现了原因:在创建设备时没有指定D3DPRESENTFLAG_LOCKABLE_BACKBUFFER标记。 初学D3D,总是遇到类似的问题。 是以为记。
2008-04-07 09:39:00 8654 6
原创 DXUTGUI控件的定制(一)
最近在研究DXUT自带的控件库,按照SDK及例子做了些试验,总是那个固定的样子(可以看DXSDK中的例子,就是哪种效果),让人一眼就看出来界面是利用DXUTGUI实现的。我想要做出自己的效果,看来必须定制。 定制包含两个方面,整个控件库风格的定制和特定控件实例本身的定制。 我们先说整个UI风格的定制。 我是从SDK的CUSTOMUI入手学习DX
2008-04-07 09:25:00 4495 3
Qt Quick实例之美图秀秀
2014-07-15
Android Studio加Gradle编译特别慢怎么办
2016-08-26
TA创建的收藏夹 TA关注的收藏夹
TA关注的人