没有合适的资源?快使用搜索试试~ 我知道了~
visual c++游戏编程入门例程
需积分: 3 8 下载量 162 浏览量
2010-12-14
21:10:08
上传
评论
收藏 123KB DOC 举报
温馨提示
Visual C++游戏编程入门例程 Visual C++游戏编程入门例程是为新手学习游戏编程而设计的。该例程首先讲解了动画的基础知识,然后通过实例代码,展示了如何使用Visual C++创建动画游戏。下面是对该例程的详细解释: 一、动画基础 动画是游戏的基础,了解动画的原理是学习游戏编程的前提。动画可以分为三种形式:形变、位变和色变。 1. 形变:形变是指几种形状的图形或位图依次转变而成。例如,一个矩形可以变成圆形,然后变成三角形。形变可以用于创建动画游戏,例如角色移动、攻击等。 2. 位变:位变是指同一个图形或位图依次在不同的位置上出现而形成动画。例如,一个圆形可以从左边移动到右边,然后再从右边移动到左边。 3. 色变:色变是指利用不同颜色的转变而形成有动感的图画。例如,一个圆形可以从红色变为蓝色,然后再变为绿色。 二、实例代码 在该例程中,提供了三个实例代码,分别展示了形变、位变和色变的实现。 实例1_1:形变 该实例展示了如何使用Visual C++创建一个简单的动画游戏。通过在OnDraw函数中添加代码,可以创建一个矩形、圆形和三角形的动画。 实例1_2:位变 该实例展示了如何使用Visual C++创建一个位变动画。通过在OnDraw函数中添加代码,可以创建一个圆形在不同的位置上出现的动画。 三、游戏编程基础 学习游戏编程需要了解Visual C++的基础知识,例如如何新建工程、如何使用类和对象、如何编写事件处理函数等。 四、结语 Visual C++游戏编程入门例程是新手学习游戏编程的不二之选。该例程提供了详细的实例代码和解释,帮助读者快速掌握游戏编程的基础知识。
资源推荐
资源详情
资源评论
第一章 游戏基础
一 动画
游戏是动画的延伸,只要知道了动画的原理,在动画变化时,使它根据键盘或鼠标的
输入操作而变化,就是游戏了。
所以在介绍游戏编程之前,先讲讲动画。
动画一般分三种形式:形变、位变、色变。如下:
1. 1. 形变
即几种形状的图形或位图依次转变而成。(图 1-1)
图 1-1
先看一个简单的实例:
a. a.Q 新建工程 1_1,选择单文档,完成。
b. b.Q 在 view 类加变量 int ituxing,并在构造函数里赋值为 ituxing=0;
c. c.Q 在 OnDraw(CDC* pDC)函数上添上以下语句:
void CMy1_1View::OnDraw(CDC* pDC)
{
CMy1_1Doc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
// TODO: add draw code for native data here
//清除当前图形
CBrush mybrush1;
mybrush1.CreateSolidBrush(RGB(255,255,255));
CRect myrect1(0,0,1024,768);
pDC->FillRect(myrect1,&mybrush1);
//判断当前图形 ituxing
if(ituxing==1)
//ituxing=1,画矩形
pDC->Rectangle(20,20,89,89);
else if(ituxing==2)
//ituxing=2,画圆
pDC->Ellipse(20,20,89,89);
else
//否则,画三角形
{
pDC->MoveTo(20,20);
pDC->LineTo(89,45);
pDC->LineTo(20,89);
pDC->LineTo(20,20);
}
}
d. d . Q 添 加 OnTimer(UINT nIDEvent) 和 OnCreate(LPCREATESTRUCT
lpCreateStruct),并加上语句如下:
void CMy1_1View::OnTimer(UINT nIDEvent)
{
// TODO: Add your message handler code here and/or call default
//获取指针 pdc
CDC *pDC=GetDC();
//调用 OnDraw(pDC)重画
OnDraw(pDC);
//使 ituxing 循环
ituxing=(ituxing+1)%3;
CView::OnTimer(nIDEvent);
}
int CMy1_1View::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CView::OnCreate(lpCreateStruct) == -1)
return -1;
// TODO: Add your specialized creation code here
//设置更新时间
SetTimer(1, 750, NULL);
return 0;
}
e. e.Q 完成。
2. 2. 位变
即同一个图形或位图依次在不同的位置上出现而形成动画。(图 1-2)
图 1-2
见实例 1_2:
a. a. 复制实例 1_1 文件夹,改名为 1_2。
把 void CMy1_1View::OnTimer(UINT nIDEvent) 中 的 ituxing=(ituxing+1)%3; 改 为
ituxing=(ituxing+1)%10;
b. b. 把 OnDraw(CDC* pDC)函数改为:
void CMy1_1View::OnDraw(CDC* pDC)
{
CMy1_1Doc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
// TODO: add draw code for native data here
//清除当前图形
CBrush mybrush1;
mybrush1.CreateSolidBrush(RGB(255,255,255));
CRect myrect1(0,0,1024,768);
pDC->FillRect(myrect1,&mybrush1);
//用当前图形位置 ituxing
剩余13页未读,继续阅读
资源评论
tianhen791
- 粉丝: 127
- 资源: 24
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 技术资料分享Zigbee协议栈OSAL层API函数(译)非常好的技术资料.zip
- 技术资料分享zigbee无信标网络设备的加入非常好的技术资料.zip
- 技术资料分享ZigBee问答之“KVP”、“MSG”非常好的技术资料.zip
- 技术资料分享ZigBee网络管理实验例程手册非常好的技术资料.zip
- 技术资料分享Zigbee技术规范与协议栈分析非常好的技术资料.zip
- 技术资料分享zigbee各版本规范比较非常好的技术资料.zip
- 技术资料分享ZigBee-Specification-2006非常好的技术资料.zip
- 技术资料分享ZigBee-Specification(2007)非常好的技术资料.zip
- 技术资料分享XC9216非常好的技术资料.zip
- 技术资料分享VESA标准RV1非常好的技术资料.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功