vc++游戏编程

vc++游戏编程

ID:26502423

大小:123.00 KB

页数:14页

时间:2018-11-27

vc++游戏编程_第1页
vc++游戏编程_第2页
vc++游戏编程_第3页
vc++游戏编程_第4页
vc++游戏编程_第5页
资源描述:

《vc++游戏编程》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第一章游戏基础            一动画 游戏是动画的延伸,只要知道了动画的原理,在动画变化时,使它根据键盘或鼠标的输入操作而变化,就是游戏了。所以在介绍游戏编程之前,先讲讲动画。动画一般分三种形式:形变、位变、色变。如下: 1.1.形变 即几种形状的图形或位图依次转变而成。(图1-1)图1-1  先看一个简单的实例:a.a. 新建工程1_1,选择单文档,完成。b.b. 在view类加变量intituxing,并在构造函数里赋值为ituxing=0;c.c. 在OnDraw(CDC*pDC)函数上添上以下语句:voidCMy1_1View::OnDraw(CDC*

2、pDC){CMy1_1Doc*pDoc=GetDocument();ASSERT_VALID(pDoc);//TODO:adddrawcodefornativedatahere//清除当前图形CBrushmybrush1;mybrush1.CreateSolidBrush(RGB(255,255,255));CRectmyrect1(0,0,1024,768);pDC->FillRect(myrect1,&mybrush1);//判断当前图形ituxingif(ituxing==1)//ituxing=1,画矩形pDC->Rectangle(20,20,89,89);

3、elseif(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. 添加OnTimer(UINTnIDEvent)和OnCreate(LPCREATESTRUCTlpCreateStruct),并加上语句如下:voidCMy1_1View::OnTimer(UINTnIDEvent){//TODO:Addyourmessageha

4、ndlercodehereand/orcalldefault//获取指针pdcCDC*pDC=GetDC();//调用OnDraw(pDC)重画OnDraw(pDC);//使ituxing循环ituxing=(ituxing+1)%3; CView::OnTimer(nIDEvent);} intCMy1_1View::OnCreate(LPCREATESTRUCTlpCreateStruct){if(CView::OnCreate(lpCreateStruct)==-1)return-1;//TODO:Addyourspecializedcreationcodehe

5、re//设置更新时间SetTimer(1,750,NULL);return0;}a.e. 完成。 1.2.位变 即同一个图形或位图依次在不同的位置上出现而形成动画。(图1-2) 图1-2 见实例1_2:a.a.      复制实例1_1文件夹,改名为1_2。把voidCMy1_1View::OnTimer(UINTnIDEvent)中的ituxing=(ituxing+1)%3;改为ituxing=(ituxing+1)%10;b.b.      把OnDraw(CDC*pDC)函数改为:voidCMy1_1View::OnDraw(CDC*pDC){CMy1_1Do

6、c*pDoc=GetDocument();ASSERT_VALID(pDoc);//TODO:adddrawcodefornativedatahere//清除当前图形CBrushmybrush1;mybrush1.CreateSolidBrush(RGB(255,255,255));CRectmyrect1(0,0,1024,768);pDC->FillRect(myrect1,&mybrush1); //用当前图形位置ituxing//画圆pDC->Ellipse(30*ituxing,30*ituxing,30*ituxing+50,30*ituxing+50);

7、}a.c.      执行,OK!1.3. 色变 即利用不同颜色的转变而形成有动感的图画。(图1-3)图1-3  实例1_3:a.a.      新建单文档工程1_3。b.b.      添加参数inticolor并赋值为0。c.c.      添加函数OnTimer(UINTnIDEvent)和OnCreate(LPCREATESTRUCTlpCreateStruct),并添加语句如下: voidCMy1_3View::OnTimer(UINTnIDEvent){//TODO:Addyourmessagehandlercodehereand/orc

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。