利用VS进行游戏设计学习(自学)
mooc自学网址:
https://www.icourse163.org/learn/CUC-1450328379?tid=1450742649#/learn/content?type=detail&id=1216695336&sm=1
每一章最后都要进行一个小游戏的设计,这是让我觉得非常有意思的地方。计算机游戏应用了大量的媒体和交互,这次课程主要是在集成开发环境下进行学习(IDE)。
第一章
第一个小游戏是“会变色的hello world!”,根据鼠标左右键不同切换到不同的颜色。
(1)首先是要创建一个新的桌面应用程序,取名为“helloworld game”。(程序中会自动加入该项目头文件“#include"helloworldgame.h”)
(2)在绘图代码区域(WM_PAINT)中设置输出语句类型:
SetTextColor(hdc,color); //设置字符串组hdc中的文字颜色为color
TextOut(hdc,0,0,L"Hello world!",12); //将长字符串放入hdc中并输出绘制到左上角
EndPaint(hWnd,&ps); //结束绘制
(3)在函数声明区中定义COLORREF变量,并在主函数(wWinMain)中设置初始颜色为绿色:
COLORREF color; //在全局变量区域中
color=RGB(0,255,0); //在主函数中
(4)在处理区域(WndProc)中添加交互,当鼠标按左键时字体颜色变为蓝色,按右键时变为红色:
case WM_LBUTTONDOWN: //鼠标左键触发时
color=RGB(0,0,255); //颜色变为蓝色
InvalidateRect(hWnd,NULL,TRUE); //即可触发
break;
case WM_RBUTTONDOWN: //鼠标右键触发时
color=RGB(255,0,0);
InvalidateRect(hWnd,NULL,TRUE);
break;
(5)课后作业:
- 直接更改RGB函数中的数值即可
- 直接更改TextOut中的坐标值即可
- 获取鼠标坐标,并进行输出
#include<iostream>
#include<windows.h>
using namespace std; //少量代码,可直接使用域
int main(){
POINT p;
while(1)
{
GetCursorPos(&p);
//SetCursorPos(p.x+3,p.y);
printf("%ld %ld\n",p.x,p.y); //输出点的坐标
//Sleep(10);
4.获取鼠标坐标,并赋值到TextOut中
#include<windows,h> //添加头文件
POINT p; //定义点坐标
GetCursorPos(&p); //获取鼠标的坐标
TextOut(hdc,p.x,p.y,L"Hello world!",12); //将坐标插入到输出函数中