小菜鸟的C++游戏编程学习日记(一)

                                           作者:杨帆参考书籍:Beginning Game ProGramming(中文版)学习时间:2016.7.26

以下附所敲源代码与部分注释:

//编译环境 visual studio 2015
#include <windows.h>
#include <iostream>LRESULT CALLBACK WinProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam)   //消息回调函数
{   RECT rect;PAINTSTRUCT ps;HDC hdc;switch (message){case WM_PAINT:{hdc = BeginPaint(hwnd, &ps);for (int i = 0; i < 10; i++)                             //这是{                                                        //一些int x = i * 20;                                      //没有int y = i * 20;                                      //卵用rect = { x,y,x + 100,y + 20 };                       //的DrawText(hdc, "OmdSAuK", 7, &rect, DT_CENTER);       //东西}EndPaint(hwnd, &ps);}break;case WM_DESTROY:PostQuitMessage(0);break;default:break;}return DefWindowProc(hwnd, message, wParam, lParam);          //返回默认
}ATOM WinRegisterClass(HINSTANCE hInstance)                         //注册一个窗口类
{WNDCLASSEX wndclassex;wndclassex.cbClsExtra = 0;wndclassex.cbSize = sizeof(WNDCLASSEX);wndclassex.cbWndExtra = 0;wndclassex.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH);wndclassex.hCursor = NULL;wndclassex.hIcon = LoadCursor(NULL,IDC_ARROW);wndclassex.hIconSm = NULL;wndclassex.hInstance = hInstance;wndclassex.lpszClassName = NULL;wndclassex.lpszMenuName = NULL;wndclassex.style = CS_HREDRAW | CS_VREDRAW;wndclassex.lpfnWndProc = (WNDPROC)WinProc;return RegisterClassEx(&wndclassex);
}bool InitInstance(HINSTANCE hInstance, int nCmdShow)                //初始化一个窗口实例
{HWND hwnd = CreateWindow("MyTest", "test",WS_OVERLAPPEDWINDOW,CW_USEDEFAULT, CW_USEDEFAULT,800, 500,NULL, NULL,hInstance, NULL);if (hwnd == 0){return 0;}ShowWindow(hwnd, nCmdShow);UpdateWindow(hwnd);return 1;
}int WINAPI WinMain(HINSTANCE hInstance,                   //此窗口实例HINSTANCE hPrevInstance,               //上一个窗口实例WPARAM wParam,LPARAM lParam,           //无视LPSTR lpCmdLine,                       //包含传递给函数的命令行参数字符串int nCmdShow                           //制定创建窗口时的显示方式)
{WinRegisterClass(hInstance);if (!InitInstance(hInstance,nCmdShow)) {return 0;}MSG msg;while (GetMessage(&msg,NULL,0,0))                     //Main获得消息后对消息的处理{TranslateMessage(&msg);DispatchMessage(&msg);}return msg.wParam;
}
    对于刚从命令行转到窗口的我来说对于这部分还需要更多的联系与深入的理解,对于windows的消息处理机制做更深入学习。目前只是对于这些参数有概念性的知识,恐怕没有书本自己也写不出来。继续加油吧。这里附上本人的[GitHub](https://github.com/Amnnny)地址,希望有同样兴趣的伙伴联系我一起学习相互交流。

小菜鸟的C++游戏编程学习日记(一)相关推荐

  1. Python菜鸟入门:day17编程学习

    写在前面: 此博客仅用于记录个人学习进度,学识浅薄,若有错误观点欢迎评论区指出.欢迎各位前来交流.(部分材料来源网络,若有侵权,立即删除) 传送门: day01基础知识 day02知识分类 day03 ...

  2. 游戏编程学习之项目历程

    项目总结    坚持:也许现在不是能力最强的程序员之一,但一定是最努力的程序员之一. 大家好,写下这篇文章作为学习回忆记录,并且也为接下来的事情做准备. 首先附上大部分项目的截图: 图1 图2 图3( ...

  3. DirectX11与游戏编程学习路线自拟

    最近学习了龙书(DX11版本)简要的翻了翻,对于初学者还是有很大的难度. 因此,制定了下关于学习游戏编程以及游戏引擎的路线. 学习使用游戏引擎 学习游戏引擎之前需要了解一下如何使用游戏引擎 我打算从U ...

  4. Python菜鸟入门:day12编程学习

    写在前面: 此博客仅用于记录个人学习进度,学识浅薄,若有错误观点欢迎评论区指出.欢迎各位前来交流.(部分材料来源网络,若有侵权,立即删除) 传送门: day01基础知识 day02知识分类 day03 ...

  5. 【逐梦旅程Windows游戏编程学习笔记 ①】基本GDI绘图

    近半年各种忙碌,一直没写博客,现在得空学习记录一下,原书为<逐梦旅程 Windows游戏编程之从零开始>毛星云编著 实现样式与功能: 实现功能: 1,显示title:"致我们.. ...

  6. 3D游戏编程学习笔记(七):模型与动画

    一.前言 本次3D游戏编程我们将设计一个智能巡逻兵游戏. 二.游戏基本内容及规定 游戏内容部分 创建一个地图和若干巡逻兵(使用动画): 每个巡逻兵走一个3~5个边的凸多边型,位置数据是相对地址.即每次 ...

  7. 有趣的游戏编程学习网站

    最近从码农有道上看到几款不错的游戏编程网站: Coding Games 一边玩游戏,一边挑战编程难题.Coding games 支持包括 PHP.C.JavaScript 在内的 20 多种编程语言. ...

  8. 收集的游戏编程学习路线

    现在基本是3D游戏编程,而游戏编程又分为服务器和客户端编程.服务器方面需要掌握SOCKET,多线程,数据库和LINUX技术.而客户端需要掌握的东西就多了,基础不错,如果你将Directx玩会了就OK了 ...

  9. DirectX 11游戏编程学习笔记之1: 开场白

    本文由哈利_蜘蛛侠原创,转载请注明出处!有问题欢迎联系2024958085@qq.com 这是我之前的博客系列"DirectX9.0c游戏开发手记之'龙书'第二版学习笔记"的平行版 ...

最新文章

  1. sqlserver Distributed Transaction 分布式事务
  2. 全国计算机技术与软件专业技术资格(水平)考试【软件评测师】-考试内容总结(四)中间件基础知识...
  3. codeblocks如何watch数组
  4. Dubbo错误排查:com.alibaba.dubbo.rpc.RpcException: Invoke remote method timeout
  5. 数据库中DDL,DML,DCL
  6. C# HttpWebRequest 方式提交数据,参数为普通键值对
  7. InfluxDB中文文档
  8. mysql索引 聚集索引_MySql数据库索引-聚集索引和辅助索引
  9. 简练软考知识点整理-项目启动过程组
  10. 20个有用的 PHP + jQuery 组件和教程
  11. 你真会用setTimeout吗?
  12. MySQL(23)--- 正则表达式
  13. 广技师计算机毕业都去哪,广东哪间大学的计算机专业比较好???
  14. CAD教程:CAD软件中如何设置线缆?
  15. 免费配音软件有哪些?分享三款好用的软件,帮你完成短视频配音
  16. 申报火热进行中|2021“科创中国”开源创新榜评选
  17. 从鸭子游戏设计看设计模式
  18. Linux系统启动过程及其修复过程简析(CentOS5、6)
  19. 让你的电脑装上Remix os 技德
  20. 怎样使用GPT案例:使用GPT获得OPPO终止ZEKU芯片业务需要的背景知识

热门文章

  1. 每个python对象都具有布尔值_百度T7架构师透析Python对象你需要知道这些
  2. 纸箱制作机器人邮箱_纸箱机器人衣服制作方法
  3. 逼自己养成成长型思维模式
  4. 机器翻译系统,主要划分为哪几大类型?
  5. 4.7 合成复用原则
  6. Zabbix-3.0.X 监测服务器硬盘IO状态
  7. AD16常用命令高效编辑命令
  8. Linux 文件管理-文件内容-读取工具-【cattac】连接多个文件并打印到标准输出
  9. 手机APP应注册这些类别的商标
  10. 安卓系统API的使用