资源简介
VC++ 轨迹运动源码实例,研究一下用轨迹引导物体的运动,让物体按一定的轨迹来运动,各行其道,互不冲突。是一个VC++游戏编程中的一个模块例子,对提高VC++的编程水平想当有帮助。

代码片段和文件信息
//-----------------------------------------------------------------
// Bitmap object
// C++ Source - Bitmap.cpp
//-----------------------------------------------------------------
//Download by http://www.NewXing.com
//-----------------------------------------------------------------
// Include Files
//-----------------------------------------------------------------
#include “Bitmap.h“
//-----------------------------------------------------------------
// Bitmap Constructor(s)/Destructor
//-----------------------------------------------------------------
Bitmap::Bitmap()
: m_hBitmap(NULL) m_iWidth(0) m_iHeight(0)
{
}
// Create a bitmap from a file
Bitmap::Bitmap(HDC hDC LPTSTR szFileName)
: m_hBitmap(NULL) m_iWidth(0) m_iHeight(0)
{
Create(hDC szFileName);
}
// Create a bitmap from a resource
Bitmap::Bitmap(HDC hDC UINT uiResID HINSTANCE hInstance)
: m_hBitmap(NULL) m_iWidth(0) m_iHeight(0)
{
Create(hDC uiResID hInstance);
}
// Create a blank bitmap from scratch
Bitmap::Bitmap(HDC hDC int iWidth int iHeight COLORREF crColor)
: m_hBitmap(NULL) m_iWidth(0) m_iHeight(0)
{
Create(hDC iWidth iHeight crColor);
}
Bitmap::~Bitmap()
{
Free();
}
//-----------------------------------------------------------------
// Bitmap Helper Methods
//-----------------------------------------------------------------
void Bitmap::Free()
{
// Delete the bitmap graphics object
if (m_hBitmap != NULL)
{
Deleteobject(m_hBitmap);
m_hBitmap = NULL;
}
}
//-----------------------------------------------------------------
// Bitmap General Methods
//-----------------------------------------------------------------
BOOL Bitmap::Create(HDC hDC LPTSTR szFileName)
{
// Free any previous bitmap info
Free();
// Open the bitmap file
HANDLE hFile = CreateFile(szFileName GENERIC_READ FILE_SHARE_READ NULL
OPEN_EXISTING FILE_ATTRIBUTE_NORMAL NULL);
if (hFile == INVALID_HANDLE_VALUE)
return FALSE;
// Read the bitmap file header
BITMAPFILEHEADER bmfHeader;
DWORD dwBytesRead;
BOOL bOK = ReadFile(hFile &bmfHeader sizeof(BITMAPFILEHEADER)
&dwBytesRead NULL);
if ((!bOK) || (dwBytesRead != sizeof(BITMAPFILEHEADER)) ||
(bmfHeader.bfType != 0x4D42))
{
CloseHandle(hFile);
return FALSE;
}
BITMAPINFO* pBitmapInfo = (new BITMAPINFO);
if (pBitmapInfo != NULL)
{
// Read the bitmap info header
bOK = ReadFile(hFile pBitmapInfo sizeof(BITMAPINFOHEADER)
&dwBytesRead NULL);
if ((!bOK) || (dwBytesRead != sizeof(BITMAPINFOHEADER)))
{
CloseHandle(hFile);
Free();
return FALSE;
}
// Store the width and height of the bitmap
m_iWidth = (int)pBitmapInfo->bmiHeader.biWidth;
m_iHeight = (int)pBitmapInfo->bmiHeader.biHeight;
// Get a handle to the bitmap and copy the image bits
PBYTE pBitmapBits;
m_hBitmap = C
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 4923 2013-12-02 06:10 Sprite.h
....... 28278 2004-01-08 14:36 Res\Car1.bmp
....... 21222 2004-01-08 14:36 Res\Car2.bmp
....... 23598 2004-01-08 14:37 Res\Car3.bmp
....... 21222 2004-01-08 14:38 Res\Car4.bmp
....... 10262 2004-01-08 16:08 Res\Chicken.bmp
....... 950 2004-01-08 16:13 Res\ChickenHead.bmp
....... 2238 2004-01-08 16:24 Res\Henway.ico
....... 1406 2004-01-08 16:27 Res\Henway_sm.ico
....... 188278 2004-01-08 16:17 Res\Highway.bmp
文件 6620 2013-12-02 06:10 Bitmap.cpp
文件 1357 2013-12-02 06:10 Bitmap.h
文件 12512 2013-12-02 06:10 GameEngine.cpp
文件 4376 2013-12-02 06:10 GameEngine.h
文件 7417 2013-12-02 06:10 Henway.cpp
文件 4534 2007-10-16 13:43 Henway.dsp
文件 518 2007-10-16 13:39 Henway.dsw
文件 1261 2013-12-02 06:10 Henway.h
文件 1129 2004-01-07 22:27 Henway.rc
文件 920 2013-12-02 06:10 Resource.h
文件 5232 2013-12-02 06:10 Sprite.cpp
..AD... 0 2012-06-13 06:34 Res
----------- --------- ---------- ----- ----
348253 22
- 上一篇:文本编辑器C代码.
- 下一篇:简单的多用户文件系统
相关资源
- C++获取计算机的CPU ID,硬盘序列号等
- C++头文件转delphi工具 + 源码
- 基于MFC的TCP调试助手源码95706
- 国际象棋的qt源代码
- C++中头文件与源文件的作用详解
- C++多线程网络编程Socket
- VC++ 多线程文件读写操作
- 利用C++哈希表的方法实现电话号码查
- 移木块游戏,可以自编自玩,vc6.0编写
- C++纯文字DOS超小RPG游戏
- 安科瑞智能电能表MODBUS通讯程序 VC6
- VC++MFC小游戏实例教程(实例)+MFC类库
- 连铸温度场计算程序(C++)
- 6自由度机器人运动学正反解C++程序
- Em算法(使用C++编写)
- libstdc++-4.4.7-4.el6.i686.rpm
- VC++实现CMD命令执行与获得返回信息
- 白话C++(全)
- C++标准库第1、2
- 大数类c++大数类
- C++语言编写串口调试助手
- c++素数筛选法
- C++ mqtt 用法
- 九齐单片机源码
- 商品库存管理系统 C++ MFC
- Qt画图工具源码(qgraphics draw)
- c++ 多功能计算器
- qt 串口助手源码
- C++17 In Detail
- modbus 主机源码
评论
共有 条评论