资源简介
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代码.
- 下一篇:简单的多用户文件系统
相关资源
- 颜色渐变的进度条vc++
- 匠心精作C++从0到1入门编程-学习编程
- U盘小偷程序包括C++源码
- C++面向对象程序设计 课后答案 铁道出
- 计算机图形学大作业C++代码MFC终极版
- PR状态方程程序C++
- C++程序设计 机器人
- 学生信息管理系统C++课程设计,适合
- c++与STK开发
- surfsift算法配准,利用Ransac去除误匹配
- 视频格式转换C++实现思路
- c++ 远程桌面控制源代码包括客户端、
- libstdc++-libc6.2-2.so.3.tar.g
- VS2010下利用C++实现对Excel的编程
- 密码学RSA 算法源码及大数运算的实现
- C++《网上书店管理系统》
- 自动推箱子 C++源代码
- C++大学教程(第9版)C++ How to Program
- C++有符号大整数类型bigint
- Intel C++ Compiler V11.0.074安装及简单设置
- 计算方法中三次样条插值法的实现
- 动态规划算法求解字符串比较问题c
- C++实现QM算法
- RSA(C++)代码实现全
- 2019蓝桥杯C_C++省赛 真题
- 无向图的邻接矩阵压缩存储.cpp
- 坦克大战C++编程坦克大战C++编程
- 图像处理 梯度锐化 C/C++语言实现
- TIFF的C++库
- Linux环境下C语言Socket编程——客户端
评论
共有 条评论