
学习日记
ntwilford
我只是一个电脑爱好者
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
DirectInput的协调级别。
昨天就开始看DirectInput的第一个Tutorial了,一直到今天才调出这个简单的程序。其间遇到的问题对于高手来说根本不叫问题,但是对我,却花费了一个上午和一个晚上。先是一些编译错误,在注册和创建窗口的时候出现了这样的错误:g_hwnd = CreateWindow( "KeyBoard", "My KeyBoard", WS_OVERLAPPEDWINDOW, CW_USEDE原创 2006-05-27 15:14:00 · 1908 阅读 · 0 评论 -
基于Direct3D实现简单的粒子系统(二) - 增加LUA脚本支持
之前已经创建了一个简单的粒子系统(点这里),但是使用起来还是不是很方便,这次的任务就是为这个系统增加脚本支持。使用脚本来定义粒子系统的各项属性,再从主程序中将这些属性读出来,创建粒子系统。我对小巧简洁的东西有种特殊的喜好,因此我选择了Lua语言。Lua与C的交互需要频繁的操作栈,使用起来并不是很方便,因此先简单的封装一下,可以不用直接操作栈就可以了。 下面的这原创 2009-09-14 20:58:00 · 3707 阅读 · 1 评论 -
基于Direct3D实现简单的粒子系统
这是一个基于D3D的基本的粒子系统,能够实现一些基本的效果,如:雨、雪、烟花等。代码很少,只有一个头文件和一个CPP文件,便于研究粒子系统的原理。EpParticleSystem.h:#ifndef _EPPARTICLESYSTEM_H_ #define _EPPARTICLESYSTEM_H_ #inc原创 2009-09-12 07:41:00 · 5814 阅读 · 1 评论 -
D3D中FVF的顺序
今天研究D3D中的Point Sprite,尝试在顶点格式中加入psize。结果加进去以后什么也没有显示,百思不得其解,也找不到问题的原因。上网搜索后终于发现问题。我把psize定义到顶点结构的最后面了,而FVF的结构是需要遵循一定的顺序的:原创 2009-08-27 01:13:00 · 3343 阅读 · 0 评论 -
MinGW+Lua环境配置小结
虽说VC是Windows下C++开发的首选工具,但有时候写一些小程序,我还是更倾向于使用一些轻量级的开发工具。比如最近研究Lua嵌入C++,有时候只是写一些很小的程序,这时候Visual Studio就显得太过臃肿了,于是我选择了EditPlus+MinGW的方法。搞了两个晚上,终于搭建好了环境,在这里总结一下,以备将来查看。 MinGW的安装比较简单了。我偷懒直接下了个自动安装原创 2009-07-31 00:53:00 · 6245 阅读 · 0 评论 -
Ogre中的动画混合(AnimationBlender)
网上Ogre的中文资料真的是很少啊,把自己学到的分享出来,希望能对初学者有所帮助。Ogre中实现骨骼动画真的是再简单不过了,就两个函数:getAnimationState,addTime。OK,人物就可以动起来了。这个AnimationBlender类可以实现以多种方式从一个动画淡入到另一个动画,来自于Ogre网站上的一篇文章。但那位老外只贴出了代码,没有讲解,甚至代码中也没有详尽的注释原创 2006-12-31 13:44:00 · 5759 阅读 · 1 评论 -
让人头晕的字符集设置
今天在搞Mesh的时候又让字符串的格式给搞得晕头转向。以前在用MessageBox这个函数的时候,字符串前一定要加上一个L才能编译通过今天在用D3DXCreateTextureFromFile(m_pIDirect3DDevice,pD3DXMaterial[i].pTextureFilename,&m_ppDirect3DTextureArray[i]) 时又告诉我第二个参数不能从 L原创 2006-07-14 13:39:00 · 1624 阅读 · 1 评论 -
由八皇后问题到n皇后的推广
将昨天的程序改用递归的方法实现了n皇后,但后来发现昨天的程序虽然可以求解,但无法求出全部解,8皇后的所有解应为92个,但我只求出了61个。经过n个小时的艰苦调试,终于发现问题所在,原来是在check函数中,后面两个for循环使用了两个条件判断,我误以为两个之间是与关系,原来是或关系。原来是这样写的: int rrr1,hhh1; for(rrr1=r-1,hhh1=h-1;rrr1>=0,原创 2006-07-12 08:39:00 · 1239 阅读 · 0 评论 -
八皇后问题初步解决方案
今天下午ACM的培训讲了一下八皇后问题。我花了两个小时才大致写了一个可运行版本,方法比较笨,但可以实现求出所有解 。以后再优化。#include //棋盘 int arr[8][8]={{0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0},原创 2006-07-10 22:22:00 · 1028 阅读 · 0 评论 -
原来八方向寻路还可以更简单
看了书中给出的八方向寻路,发现原来比我想象的还可以更简单一点,根本无需向八个方向扩展,只需要在寻找路径时向八个方向寻找就可以了,一样可以找出最短路径。原创 2006-06-18 20:14:00 · 1881 阅读 · 0 评论 -
简单的八方向寻路算法
前几天在图书馆借了一本《游戏程序设计概论》,发现这本书还不错,对游戏有个大概的介绍。学了里面的四方向等高线寻路算法后,把它改成了八方向。大概原理是,从目的点开始向周围一步一步扩展,知道遇到起始点为止。用到了两个队列,一个作为源,一个作为目的。先把目的点放入源队列,在将目的点向八个方向扩展,并放入目的队列,然后交换源与目的,再将源队列中的点向周围扩展,并放入目的队列,如此循环,知道遇到起始点。标记原创 2006-06-14 19:29:00 · 4107 阅读 · 0 评论 -
用J2ME实现扫雷
这学期J2ME告一段落了,没学到什么东西,老师已经让交作业了。时间太紧写个扫雷凑数。写了四个类:MineGame: 处理游戏逻辑MineBoard: 游戏的面板(canvas)MineMIDlet: MIDlet主类,启动游戏,调度游戏面板MineDefs: 没别的作用,就是定义一些常量,供其它类使用。 下面是MineDefs类,各常量的意思从字面就能看出来/原创 2006-10-16 20:45:00 · 3139 阅读 · 0 评论 -
字符串前的L
经过几天四处寻找,终于查到了。字符串前面加L是指出该字符串是Unicode编码的字符串。如果是中文的字符串一定要加上L原创 2006-05-31 19:10:00 · 1105 阅读 · 0 评论 -
终于搞定了DirectInput中的FOREGROUND
接昨天:虽然将FOREGROUND改为BACKGROUND解决了问题,但这实际上是治标不治本,FOREGROUND总得解决,经过半天的努力,终于找到问题所在,其实是一个很低级的错误。ShowWindow( g_hwnd, SW_SHOWDEFAULT ); UpdateWindow( g_hwnd );显示窗口一定要放在初始化DirectInputDevice之前。否则做Ac原创 2006-05-28 14:16:00 · 1558 阅读 · 0 评论 -
C++的成员指针
如果不是读《C++编程思想》,恐怕我到今天也不会知道成员指针这东西,真是让我大开了眼界。按我的理解,普通指针指向的地址是相对于整个内存空间的,而成员指针并不包含真实的地址,它实际上代表了一个成员在其类范围内的相对位置。一个小程序可以解释成员指针的用法。#include using namespace std; cl原创 2009-12-16 21:02:00 · 5814 阅读 · 0 评论