从零开始游戏开发
文章平均质量分 91
只是自己学习历程的一些笔记和实践过程的记录。
Ekennis
在读本科生
展开
-
我使用 Windows API 制作方舟同人游戏的方案废弃了。
现在尝试加入敌人。与干员不同的是,敌人这种角色是要多次生成,且能随机生成的,肯定不能为 static.不过我暂时不打算为敌人增加什么技能,所以全部可以按一个模板来生成,只需要给出不同的贴图和数据即可。为了正确的交互,地图上的 MapElement 用于显示贴图,并在玩家与敌人相遇时发送信息让 SideBar 来处理战斗。添加一个函数用于加载 Thug 这个敌人(暴徒)。一周多没有动这个工程,现在看来思绪乱如麻。更不用说贴图的优化特别差(只是之前的内容都能占用 30% 左右 CPU,i7-1065原创 2022-02-25 16:22:10 · 2783 阅读 · 4 评论 -
从零开始用 Windows C++ 桌面程序制作方舟同人游戏(五)
一、角色信息的定义与绘制继障碍物后,重要的就是要把敌人加进来。敌人加进来之后需要与其进行战斗。而战斗则与属性等数值挂钩。我们需要建立侧边栏,实时显示出角色的数值来监测战斗。因此,现在我们的任务是将 SideBar 类实现一部分。再看一看 SideBar.h:class SideBar{ std::vector<COperator> operators; // 当前干员 COperator currentOperator; // 当前出战的干员 int ingot; // 源石锭原创 2022-02-17 12:27:29 · 4957 阅读 · 0 评论 -
从零开始用 Windows C++ 桌面程序制作方舟同人游戏(四)
一、添加背景音乐使用很简单的 mci 来添加背景音乐:首先打开 framework.h, 在末尾添加如下代码:#include <mmsystem.h>#pragma comment (lib, "winmm.lib")添加一个头文件,并链接一个库。这样我们就可以使用 mci 播放器了。在 gameInit() 中添加:mciSendString(L"open 熏陶.mp3 alias music1", NULL, 0, NULL); mciSendString(L"p原创 2022-02-13 15:26:33 · 2849 阅读 · 5 评论 -
从零开始用 Windows C++ 桌面程序制作方舟同人游戏(三)
一、将贴图信息整合到类中承接上文,在完成地图绘制之后,现在的地图还仅仅只是一块图片而已。我们要将其与地图元素类 MapElement 绑定起来。这里我的想法是,在窗口的显示部分,要有一套完整的贴图用于画面表现。同时也有一套完整、抽象出来的游戏系统,比如发生战斗时,后台要计算攻击伤害,执行一系列函数;而窗口则要显示战斗动画。因此应该画面显示绑定到游戏逻辑中。(当然,只是自己探索过程中粗浅的理解,或许其实看起来很好笑很不严谨呢?读者随便看看就好)沿着这个思路,我们对上一章的地图绘制进行修改。注意到在第一章原创 2022-02-12 13:18:42 · 2035 阅读 · 1 评论 -
从零开始用 Windows C++ 桌面程序制作方舟同人游戏(二)
现在实现地图贴图。因为没有拿到手绘板,所以用随便做了两个材质用于测试: ground0.bmp ground1.bmp 再次看源文件 PhantomAndCrimsonSolitaire。其消息循环使用的是 GetMessage:while (GetMessage(&msg, nullptr, 0, 0)) { if (!TranslateAccelerator(msg.hwnd, hAccelTable, &m原创 2022-02-11 12:27:00 · 643 阅读 · 1 评论 -
从零开始用 Windows C++ 桌面程序制作方舟同人游戏(一)
前言阅读本博客的前置技能:C++ 基础好像没了 qwq为什么开这个坑很惭愧,虽然每每想要认真的做一个游戏 demo 时,我要么只是停留在了纸面描述上,要么只是建了几个新类,用一个又一个框架/引擎新建工程,做了一些很简单的东西,却从来没有做出来过一个完整的游戏(控制台游戏除外哈哈)。所以乘着对 Windows 桌面程序学习的势头,在此再开一坑,希望不要再浅尝辄止,做出一个能玩的完整 demo. 并同时把开发过程完完整整地记录下来,并将疑惑不解或者是有理解的地方讲出来,加深印象,也帮助他人. (虽原创 2022-02-08 20:32:08 · 7103 阅读 · 8 评论 -
《WINDOWS游戏编程之从零开始》第五章学习笔记
原本粗略浏览了这一章节,就又去自己找图片素材了…找到一半发现贴图不太好找原图,但是不想抠图,也不想用糊图,结果我下回了《美少女万华镜 4》(甚至忍不住玩了一会,剧情还是大赞的),并看了一圈 galgame 解包的教程,最后还是最方便的 GARbro 随随便便就解了 OMG. 忙活了不知道多久,并获得了很多高质量 CG、音效以及立绘。嘿嘿……回归主题。本章讲的是透明贴图。5.2 透明遮罩透明遮罩用一个黑白图和一个素材图。另外还有一个背景图。黑白遮罩图与背景图做与运算,就在背景上得到一个黑色人物轮.原创 2022-02-06 00:00:11 · 1272 阅读 · 0 评论 -
《WINDOWS游戏编程之从零开始》第四章学习笔记
GDIGDI 有一些基本函数和图形定义。总之,其就是一些数据结构、函数和宏组成的整体。而各种各样的函数都逃不开一个概念——设备环境 DC.4.2 设备环境一个设备环境,就是程序中一个可以进行绘图的地方。也就是“客户区”。在 GDI 图像输出时,我们只需要关心设备环境的类型。而要确定设备环境的类型,创建一个相应类型的句柄即可。(不得不说 C++ 的句柄设计的挺好的)4.2.2 获取 HDC (设备环境句柄)使用 BeginPaint 与 EndPaint在微软文档中查到这两个函数的原型:原创 2022-02-05 15:28:43 · 2123 阅读 · 0 评论 -
《WINDOWS游戏编程之从零开始》第三章学习笔记
个人整理的笔记,比较杂乱,可能并不是很适合阅读:)MessageBox 函数其四个参数分别为:HWND 类型的 hWnd, 表示窗口句柄;HWND 是什么类型?简单说就是给窗口分配的句柄。(废话啊啊啊)总之就用其代指一个窗口LPCTSTR 类型的 lpText,表示消息内容;LPCTSTR 类型的 lpCaption,表示消息框标题内容;UINT 类型的 uType,表示消息窗口的样式PlaySound 函数其三个参数分别为:LPCTSTR 类型的 pszSound,指定声原创 2022-02-03 23:50:11 · 2055 阅读 · 0 评论