- 博客(90)
- 资源 (7)
- 收藏
- 关注
原创 用DirectX做2D游戏的三种方法
<br />1用DirectDraw <br />这是早期的做法,由于现在的DirectDraw已经并入到DirectGraphic当中,而且微软也已经在Direct SDk8中把DirectDraw部分的文档取消了,现在多用D3D来做2D的游戏<br /> <br />2用ID3DXSprite<br />这个接口可以很好的制作2D动画,ID3DXSprite是DriectX 9.0里面的一个简单模块,在DriectX 9.0帮助文档里面对其功能的描术为:“向用户提供一套简单的在屏幕上实现精灵渲染的接口。
2010-07-21 11:33:00 4865 3
原创 fltk获取窗体句柄
<br />#include <fltk/win32.h><br />HWND hwnd = fltk::CreateWindow::find(window_pointer)->xid;<br /> <br />说明:<br />fltk下有个CreateWindow类,用于创建窗体,当在不同平台下,选择的CreateWindow类有所不同。<br />要想获得win32操作系统的句柄,必须使用<fltk/win32.h>文件的CreateWindow类下的find方法。
2010-07-07 14:42:00 1446
原创 python类动态加载
<br />exec("要执行的代码")<br />setatt(classobject,att_name,stt_value)#设置某属性
2010-06-18 14:28:00 1047
原创 python 链表和字典
3.2.1. List 的定义例 3.6. 定义 List>>> li = ["a", "b", "mpilgrim", "z", "example"] >>> li[a, b, mpilgrim, z, example]>>> li[0] a>>> li[4]
2010-03-25 16:27:00 8698 2
原创 windows与其他操作系统socket通讯时,类必须写在以下定义直接
#pragma pack(push) #pragma pack(1) #pragma pack(pop) //int INT32//unsigned short INT16//unsigned char INT8
2010-03-04 11:05:00 1050
原创 DirectX运算矩阵
void printMatrix(D3DXMATRIX *matrix){ TRACE("[%5.2f %5.2f %5.2f %5.2f /n",matrix->m[0][0],matrix->m[0][1],matrix->m[0][2],matrix->m[0][3] ); TRACE(" %5.2f %5.2f %5.2f %5.2f /n",matrix->m[1][0],m
2010-02-06 12:00:00 1248
原创 windows线程消息
#define WM_P2P_AUDIO_REQ WM_USER + 34BOOL PostThreadMessage( DWORD idThread, UINT Msg, WPARAM wParam, LPARAM lParam ); if (PeekMessage(&msg, NULL, 0, 0, PM_REMOVE)) { if
2010-02-02 16:09:00 596
转载 构建一个安全的ActiveX控件
如果希望再IE载入控件的时候不对控件不安全作出警告的信息的话,你必须保证执行代码使用安全的初始化和脚本的Active控件。相关的细节可以参照微软MSDN上的文章“Safe Initialization and Scripting for ActiveX Controls”。本文的后面会给出链接地址。不过我在这篇文章里面看到了大量的错误和冗长的文章。其实只需要在代码中加入DllRegisterSer
2010-01-11 13:51:00 1008
转载 替换exe文件资源
int ReplaceDLLBitmapResource( LPCWSTR pszDLLFile, WORD dwResourceID, LPCWSTR pszBitmapFile ) { CFile f; CFileException e; USES_CONVERSION; if( ! f
2010-01-11 12:00:00 3411
转载 资源文件读取_文件
导读: 有时我们会在资源里加上一些文件,BMP、ICON、WAVE等文件读取时没什么问题,主要的区别在于RT_TOOLBAR,RT_MENU,RT_...HINSTANCE hInst = AfxFindResourceHandle(lpszResourceName, RT_TOOLBAR);HRSRC hRsrc = ::FindResource(hInst, lpszResourc
2010-01-11 11:59:00 820
原创 UTF-8转GBK
bool DemoDlg::UTF8ToGB(CString &szOut ,CString str){WCHAR *strSrc;TCHAR *szRes;int i = MultiByteToWideChar(CP_UTF8, 0, str, -1, NULL, 0);strSrc = new WCHAR[i+1];MultiByteToWideChar(CP_UTF8
2009-12-21 11:39:00 972
转载 AVI example code for creating AVI files
AVI example code for creating AVI files(c) 2002 Lucian Wischik. This code is free, and anyone can do with it whatever they like, including incorporating it in commercial products.This code is conc
2009-12-15 18:07:00 1485
原创 Ogre3D嵌入Qt框架
按照经典的Qt程序结构,应该有一个从QMainWindow继承而来的MainWindow,让它做为主窗口,然后子类化一个QWidget,它做为主窗口的"中心挂件",能过封装Ogre的部分功能,实现用Ogre对该窗体的绘制。首先,如何把Ogre这个引擎发动,不断驱动其进行工作。Qt也需要告诉Ogre如何把渲染的内容画到指定的窗口中去,以及用哪种方式更新窗口中的内容。当键盘或鼠标消息来的时候,如何通
2009-11-30 10:44:00 1802 2
原创 C++ 位运算符
C++/C 提供位逻辑运算符和移位运算符。二者只能用于整形和字符型。位运算符是对每位进行操作而不影响左右两位,这有别于常规运算符(&& || !)是将整个数进行操作的。 一. 位逻辑运算符1. ~ 按位取反将1变为0,将0变为1EG:~(10011010)(01100101) 注:VC++编译器,计算~10,得出的结果是-11。为什么不是5
2009-11-30 09:40:00 1127 1
转载 vc播放声音文件
一.播放声音文件的简单方法 在VC++ 中的多媒体动态连接库中提供了一组与音频设备有关的函数。利用这些函数可以方便地播放声音。最简单的播放声音方法就是直接调用VC++中提供的声音播放函数BOOL sndPlaySound ( LPCSTR lpszSound,UINT fuSound ); 或BOOL PlaySound( LPCSTR lpszSound, HMODULE hmod, DWOR
2009-11-17 16:14:00 1621
转载 AVI example code for creating AVI files
(c) 2002 Lucian Wischik. This code is free, and anyone can do with it whatever they like (except sell it or claim ownership).This code is concerned with creating AVI files, including video and au
2009-11-17 12:16:00 1386
原创 win32加载jpg
#include #include #include using namespace std;bool loadFile(char *fileName,char **imageBuffer1,int &size){ fstream fs1; fs1.open(fileName,ios_base::in|ios_base::binary); fs1.seek
2009-11-04 09:51:00 2621
转载 郭嘉的十胜论与诸葛亮的隆中对比较分析
诸葛亮和郭嘉,是三国历史上最著名的谋士。诸葛亮是以他的三篇文章和辅佐蜀汉大业闻名的。郭嘉则是以他的十胜论和三次大的战略决策闻名于世的。 郭嘉是三国历史上罕见的智慧之神,他的思想是值得战略家和军事家认真研究的。他是曹操的重要谋臣,才识超群,足智多谋,长期追随曹操左右,为他出谋划策,功绩卓著。郭嘉最聪明的地方在于他及时背袁而投曹。当初他北见袁绍,不得重用,于是他对谋臣辛评、郭图说:“夫智者审于良
2009-10-29 19:14:00 2204 1
原创 真正的爷们,应该做好下列小事
如果你是作为一个男人,尤其作为一个真正的爷们,应该做好下列小事: 1,如果朋友请你吃饭,不要觉得理所当然,请礼尚往来,否则你的名声会越来越臭。 2,一定给自己定目标,一年,两年,五年,也许你出生不如别人好,通过努力,往往可以改变70(百分号)的命运。破罐子破摔只能和懦弱做朋友。 3,不要忘记这是个现实的社会,感情不能当饭吃,贫穷夫妻百事哀。不要相信电影,那只是个供许多陌生人喧嚣情感的场所。 4,即
2009-10-28 16:56:00 814
原创 Win32中实现类似MFC中TRACE的函数
#include #include #include #include void LogTrace(LPCTSTR pszFormat, ...){ va_list pArgs; char szMessageBuffer[16380]={0}; va_start( pArgs, pszFormat ); _vsntprintf
2009-10-20 14:13:00 4607 2
转载 检查文件是否存在
#include #include using namespace std;#define FILENAME "stat.dat"int main(){ fstream _file; _file.open(FILENAME,ios::in); if(!_file) { cout<<FILENAME<<
2009-10-12 16:41:00 1904
原创 SO_REUSEADDR例解
网友vmstat多次提出了这个问题:SO_REUSEADDR有什么用处和怎么使用。而且很多网友在编写网络程序时也会遇到这个问题。所以特意写了这么一篇文章,希望能够解答一些人的疑难。 其实这个问题在Richard Stevens的《Unix网络编程指南》卷一里有很详细的解答(中文版P166-168页)。这里我只是写几个基本的例子来验证这个问题。 首先声明一个问题:当两个s
2009-10-08 17:34:00 846
原创 fstream的使用方法介绍
在C++的stl标准库中,有一个stream这个类,所有的I/O都以这个“流”类为基础的,包括我们要认识的文件I/O,stream这个类有两个重要的运算符: 1、插入器( 向流输出数据。比如说系统有一个默认的标准输出流(cout),一般情况下就是指的显示器,所以,cout2、析取器(>>) 从流中输入数据。比如说系统有一个默认的标准输入流(cin),一般情况下就是指的键盘,所以,cin
2009-10-04 20:20:00 661
原创 甲賀忍法帖
甲賀忍法帖下弦の月が 朧に搖れる夜を 包む叢雲番う雛絡める 非情の罠嗚呼 今も燻ぶ想い胸に 聢と宿らば殲水の様に優しく花の様に劇しく震える 刃で 貫いて宿命られた 涙を瞳の奥 閉じても貴方を 瞼が 憶えているの無明の淵で 終焉を待っ私は 噎ぶ身無し児蹂み躙られた 尽る恋を両手に 包んだ儘もう あらがえない共に辿る釁りの黄泉路を(殲)水の様に優しく花の様に劇しく震える 刃で 貫いて宿命られた 涙を瞳
2009-09-16 14:30:00 856
原创 opengl 2.5D游戏遮挡测试
/* * This Code Was Created By Jeff Molofee 2000 * A HUGE Thanks To Fredric Echols For Cleaning Up * And Optimizing The Base Code, Making It More Flexible! * If Youve Found This Code Usefu
2009-09-07 15:51:00 1445
原创 tinyxml的xml读取
- config> file name="E:/code/TestMulPoints/MulPoints.swf" screenWidth="800" screenHeight="600" /> - points> point x="x00" y="y00" /> point x="x01" y="y01" /> poin
2009-09-03 15:53:00 980
原创 进程内键盘钩子
HHOOK g_hKeyboard = NULL;LRESULT CALLBACK KeyboardProc(int code,WPARAM wParam,LPARAM lParam){ BOOL bKeyUp = lParam & (1 BOOL bKeyDown = lParam & (1 if(bKeyDown&& code == HC_ACTION) { switch(wP
2009-09-02 13:46:00 1099
原创 wxWidgets在vc2005下的配置 和 使用注意!!
一、配置:1、下载安装文件:汗,我找不到运行库,好像只有SDK,这个SDK,安装完毕后,在安装目录下都是源码,需要自己编译成可供链接的库,下面说明。2、编译链接时用到的库:假设装的是2.8.4的版本,我把他安装到了:C:/Program Files/wxWidgets-2.8.4/下面:里面有个build/msw目录,用VC2005打开wx.dsw, 就可以直接编译成release的和debu
2009-08-27 21:19:00 2203
原创 wxWidgets的debug模式的一个链接异常
To use it, add the following include path:D:/apps/wxWidgets-2.8.4/include/msvcD:/apps/wxWidgets-2.8.4/includeadd the following library path:D:/apps/wxWidgets-2.8.4/lib/vc_lib wxmsw28d_core.lib(app
2009-08-27 20:41:00 3809 1
原创 C++用C程序的一个链接错误
error LNK2001: 无法解析的外部符号 ___argv error LNK2001: 无法解析的外部符号 ___argcint __argc;char** __argv;
2009-08-26 16:10:00 653
原创 数字字符串互相转换
可以用sprintf函数将数字输出到一个字符缓冲区中. 从而进行了转换...例如:已知从0点开始的秒数(seconds) ,计算出字符串"H:M:S", 其中H是小时, M=分钟,S=秒 int H, M, S; string time_str; H=seconds/3600; M=(seconds%3600)/60; S=
2009-08-24 14:17:00 676
原创 DirectX设置正交投影矩阵
D3DXMATRIX matProject;// 这个函数是设置正交投影矩阵D3DXMatrixOrthoLH(&matProject, width, height, Znear, Zfar);pD3dDevice->SetTransform(D3DTS_PROJECTION, &matProject);
2009-08-19 13:49:00 4223 1
原创 判断线段是否相交的函数和求直线交点的函数
// ToLineCrossPofloat.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include #include #include struct POINT { int x; int y;};/*判断两条线段是否相交(有交点)*/bool IsLineSegmentCross(POINT pFirst1, POINT pFirst2, P
2009-08-18 15:11:00 2462 1
原创 c++界面库
GuiToolkit(开源,类似Visual Studio 2003风格)http://www.beyondata.com/default.htm GardenUI(免费,界面效果挺好的,XML,代码 界面 分离)http://www.gardenui.com/ CJLib(开源,免费,UNICODE编码,是xtreme toolkit的前生,但xtreme toolkit收费了)
2009-08-18 13:43:00 1333
原创 Windows/Linux下C/C++内存泄露检测工具
一 Window下的内存泄露检测(以VC++环境为例)灵活自由是C语言的一大特色,但这个特色也难以避免的带来一些副作用,比如内存泄露。众所周知,内存泄露的问题比较复杂,程序正常运行时你看不出它有任何异常,但长时间运行或在特定条件下特定操作重复多次时,它才暴露出来。所以,内存泄露往往是难以发现,也难以定位解决的。Visual Leak Detector(VLD)是一款用于Visual
2009-08-14 12:01:00 5687
原创 直线选择
GLint selBufferSize = 512; GLuint selBuffer[512]; glSelectBuffer(selBufferSize,selBuffer); glPushAttrib(GL_VIEWPORT_BIT); glPushMatrix(); glViewport(x-2,y-2,4,4); glMatrixMode(GL_PROJECTION); glLoadId
2009-08-11 15:16:00 761
转载 使用混合来实现半透明效果
混合是什么呢?混合就是把两种颜色混在一起。具体一点,就是把某一像素位置原来的颜色和将要画上去的颜色,通过某种方式混在一起,从而实现特殊的效果。假设我们需要绘制这样一个场景:透过红色的玻璃去看绿色的物体,那么可以先绘制绿色的物体,再绘制红色玻璃。在绘制红色玻璃的时候,利用“混合”功能,把将要绘制上去的红色和原来的绿色进行混合,于是得到一种新的颜色,看上去就好像玻璃是半透明的。要使用OpenGL的混
2009-08-09 13:17:00 1339
转载 Opengl图像说明
加载位图文件加载位图,也就是把位图读取到内存空间,实现纹理的创建,加载位图的函数说明一下:AUX_RGBImageRec *LoadBMP(char *Filename) // 根据位图文件的名称进行加载{FILE *File=NULL; // 文件指针if (!Filename) // 如果没有指定位图文件名称就返回NULL{ return
2009-08-09 11:49:00 5132
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人