BaymaxFootballGame, Software Development Based on Graphics Engine course, 2020 Spring, NENU
- System: Win10
- IDE: Code::Blocks 17.12
- Compiler: MinGW
- Frame: WinGUI
- 注:WinGUI框架搭建模型来源于我的课程教师:封子军老师
glut.h & gl.h & windows.h- 可在仓库
resource文件夹中引入
cd BaymaxFootballGame\BaymaxFootballGame\- 用 Code::Blocks 打开
BaymaxFootballGame.cbp文件 Build and run- 注:查看足球贴图效果时,需进入路径
BaymaxFootballGame\bin\Debug,打开BaymaxFootballGame.exe程序查看
- 整个程序框架是在老师的
WiuGUI框架下进行编码操作 - 首先在
Draw3D中绘制3D版Baymax,再绘制足球球体 - 其次加上光照材质及纹理映射效果,使物体呈现真实感与立体感
- 最后依次加上键盘、鼠标、菜单的变色,旋转,平移操作
- 键盘操作
- 旋转操作
UP、DOWN键:物体绕X轴旋转LEFT、RIGHT键:物体绕Y轴旋转HOME、END键:物体绕Z轴旋转
- 平移操作
A、D键:物体沿X轴平移W、S键:物体沿Y轴平移Q、E键:物体沿Z轴平移
- 旋转操作
- 鼠标操作
- 按住
鼠标左键,拖动物体旋转,松开停止旋转- 鼠标消息:
WM_MOUSEMOVE
- 鼠标消息:
- 按住
鼠标中键,物体自动旋转,松开停止旋转- 时间控件,定时器消息:
VOID CALLBACK MyTimerProc(HWND hwnd, UINT uMsg, UINT idEvent, DWORD dwTime); SetTimer(hwnd, ID_TIMER, 1000, MyTimerProc);
- 时间控件,定时器消息:
- 按住
- 菜单操作
- 主菜单
hMenuMain - 右键弹出式菜单
hPopup - 功能操作
- 控制物体自动旋转:
Auto-Rotate - 停止物体自动旋转:
Stop Baymax变色
- 控制物体自动旋转:
- 主菜单
- 按钮操作
- 左处窗体:控制足球平移操作
- 右处窗体:控制物体旋转、平移操作
- 光照材质
- 针对
Baymax glLightfv, glMaterialfv
- 针对
- 纹理映射
- 针对球体
gluSphere贴图 - 函数
load_texture读取BMP文件作为纹理
- 针对球体
程序的灵感来源于游戏机,在窗体的中间是游戏界面,左右两处的面板则像游戏机的控制按钮。左处面板,控制足球运动;右处面板,可控制整个物体的运动。最后呈现出的效果为控制
Baymax踢足球。

