游戏引擎学习第一天

视频参考:

https://www.bilibili.com/video/BV1zGDCYHErA/

创建一个保存项目的路径

VS的安装略过,个人自行百度

1. vs 创建第一个CMAKE的窗口项目

game.cpp 修改如下的代码

https://learn.microsoft.com/en-us/windows/win32/api/winbase/nf-winbase-winmain

去拷贝代码

cpp 复制代码
#include <windows.h>  // 引入 Windows API 所需的头文件

// WinMain 是 Windows 应用程序的入口函数,类似于命令行程序中的 main 函数
// 参数说明:
// hInst     - 当前应用程序的实例句柄,用于标识应用程序资源
// hInstPrev - 上一个实例的句柄(在多实例应用程序中使用,通常为 NULL)
// cmdline   - 启动程序时传递的命令行参数
// cmdshow   - 窗口显示模式,控制程序启动时窗口的显示方式(如最大化、最小化等)
int CALLBACK WinMain(HINSTANCE hInst, HINSTANCE hInstPrev, //
                     PSTR cmdline, int cmdshow) {
  
  // 调用 Windows API MessageBox 来弹出一个消息框
  // 参数说明:
  // NULL - 父窗口句柄,这里设为 NULL 表示没有父窗口
  // "This is game study" - 消息框中显示的文本内容
  // "game study" - 消息框的标题栏文本
  // MB_OK | MB_ICONINFORMATION - 消息框的样式,MB_OK 表示显示一个确定按钮,MB_ICONINFORMATION 表示显示一个信息图标
  return MessageBox(NULL, "This is game study", // 显示的文本内容
                    "game study",            // 消息框的标题
                    MB_OK | MB_ICONINFORMATION); // 消息框的样式(确定按钮 + 信息图标)
}

上面的CALLBACK 是__stdcall:Windows API 使用的调用约定,函数本身负责清理栈。

  1. 编译

  2. 运行

如果函数MessageBox 未定义需要链接User32.lib

https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-messagebox

代码中的MessageBox 实际上是一个宏

如果定义了UNICODE MessageBox就是MessageBoxW

如果ANSI 就是MessageBoxA

MessageBox 被define 什么版本取决于你是在UTF-8还是ANSI模式下面编译

相关推荐
学习路上_write4 分钟前
FPGA/Verilog,Quartus环境下if-else语句和case语句RT视图对比/学习记录
单片机·嵌入式硬件·qt·学习·fpga开发·github·硬件工程
非概念9 分钟前
stm32学习笔记----51单片机和stm32单片机的区别
笔记·stm32·单片机·学习·51单片机
无敌最俊朗@2 小时前
stm32学习之路——八种GPIO口工作模式
c语言·stm32·单片机·学习
EterNity_TiMe_2 小时前
【论文复现】STM32设计的物联网智能鱼缸
stm32·单片机·嵌入式硬件·物联网·学习·性能优化
墨笺染尘缘2 小时前
Unity——对RectTransform进行操作
ui·unity·c#·游戏引擎
L_cl2 小时前
Python学习从0到1 day28 Python 高阶技巧 ⑤ 多线程
学习
前端SkyRain2 小时前
后端Node学习项目-用户管理-增删改查
后端·学习·node.js
提笔惊蚂蚁3 小时前
结构化(经典)软件开发方法: 需求分析阶段+设计阶段
后端·学习·需求分析
DDDiccc3 小时前
JAVA学习日记(十五) 数据结构
数据结构·学习
AgilityBaby3 小时前
FairyGUI和Unity联动(入门篇)
unity·游戏引擎