欢迎来到天天文库
浏览记录
ID:25681941
大小:80.50 KB
页数:8页
时间:2018-11-22
《操作指导-----玻璃杯里的绿茶》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、操作指导4------玻璃杯里的绿茶一.如操作指导(1)建立框架.见welcome2二.添加变量与函数并初始化在VIEW类中加入公共变量floattbh[6][5];//6片茶叶的角度、位置、大小BOOLkeyn;//定义动画开关在VIEW类中加入公共函数voidmytea(floatx,inty);//定义绘制茶杯的函数voidtea3();//茶叶的函数voidlm();//光照和材质的函数CCmyView::CCmyView()//初始化{//TODO:addconstructioncodeheremy_pDC=NULL;mytbar=FALSE;mysbar=FAL
2、SE;keyn=TRUE;//动画开关for(inti=0;i<6;i++){//定义6片茶叶tbh[i][0]=0.38f*(rand()-rand())/RAND_MAX;//左右tbh[i][1]=0.8f;//高度:浮于茶杯口tbh[i][2]=0.38f*(rand()-rand())/RAND_MAX;//前后tbh[i][3]=180.0f*(rand()-rand())/RAND_MAX;//前后滚动初值tbh[i][4]=180.0f*(rand()-rand())/RAND_MAX+180.0f*(rand()-rand())/RAND_MAX;//左右
3、滚动初值};}三.创建更改工具栏的按纽定义绿茶工具按纽ID为ID_BUTTONtea在VIEW类中建立响应函数四.动画控制1.在VIEW中添加消息WM_TIMER响应函数OnTimer(UINTnIDEvent)在按纽响应函数中加入语句voidCCmyView::OnBUTTONtea(){//TODO:Addyourcommandhandlercodehereif(keyn){SetTimer(1,120,NULL);}else{KillTimer(1);//动画开关变化};keyn=!keyn;//刷新显示Invalidate(FALSE);}2.在VIEW类中更改命令
4、函数,OnDestroy()取消定时器voidCCmyView::OnDestroy(){CView::OnDestroy();//TODO:AddyourmessagehandlercodehereKillTimer(1);HGLRChrc;hrc=::wglGetCurrentContext();::wglMakeCurrent(NULL,NULL);if(hrc)::wglDeleteContext(hrc);if(my_pDC)deletemy_pDC;}3.在OnTimer()中加入voidCCmyView::OnTimer(UINTnIDEvent){//TOD
5、O:Addyourmessagehandlercodehereand/orcalldefaultif(nIDEvent==1){for(inti=0;i<6;i++){//6片茶叶的变化if(tbh[i][1]<=-0.56f){//到达杯底,旋转变慢,位置不动tbh[i][1]=-0.56f;tbh[i][3]=tbh[i][3]-1.0f*(rand())/RAND_MAX*0.2f;tbh[i][4]=tbh[i][4]+5.0f*(rand())/RAND_MAX*0.2f;}else{//从漂在杯口,到向下,旋转,扩散tbh[i][0]=tbh[i][0]+0.0
6、1f*(rand()-rand())/RAND_MAX*0.2f;tbh[i][1]=tbh[i][1]-0.01f*0.2f;tbh[i][2]=tbh[i][2]+0.01f*(rand()-rand())/RAND_MAX*0.2f;tbh[i][3]=tbh[i][3]+2.0f*0.2f;tbh[i][4]=tbh[i][4]+10.0f*0.2f;};};};Invalidate(FALSE);//显示更新CView::OnTimer(nIDEvent);}一.茶杯与茶叶1.在VIEW.CPP中加入#include"stdafx.h"#include"cmy.h
7、"#include"MainFrm.h"#include"Math.h"1.在OnDraw()中更改背景色并加入调用的函数voidCCmyView::OnDraw(CDC*pDC){CWelcomeDoc*pDoc=GetDocument();//CwelcomeDoc为文档类名与自己的程序对应ASSERT_VALID(pDoc);//TODO:adddrawcodefornativedataherestaticBOOLbBusy=FALSE;if(bBusy)return;bBusy=TRUE;glClearCo
此文档下载收益归作者所有