坂本千寻 《Visual C++ 冒险游戏程序设计》 个人阅读笔记 PART_1

因为是关于这本书的第一篇阅读笔记,书的大体内容,这里简略说一下;

【书名】《Visual C++ 冒险游戏程序设计》

【作者】坂本千寻(日本)

【游戏内容】AVG 冒险类游戏(Galgame 是 AVG 的一种)

【游戏目标环境】Microsoft Windows XP / 2000 / Me

【开发用 IDE】Microsoft Visual C++ 6.0

【程序语言】C++

【图形库】Win32 GDI API

【音效库】Win32 MCI API

【类库】WinLib

【脚本引擎】使用了一种类似 DOS 批处理(bat)的基于命令形式的脚本语言,没有变量类型,支持逻辑分歧处理以及 goto 跳转,支持脚本调用,需要 MKScript.exe 编译成中间码,通过 ScrPlayer.exe 执行;

目前就知道这么多,如果有遗漏的信息,以后会补全;

这本书的发布日期是 2004 年 11 月份,使用的 API 相对现在来说已经非常落后,然而书中的核心算法与 API 无关,很久以前博主还在学习 GDI 和如何使用 Win32 API 创建 Win32 标准窗体的时候就接触过这本书,然而当时基础有限,心浮气躁,没能完全领略到这本书的精华,现在决心冲头温习一遍,算是弥补当初的遗憾,GDI 说强大不强大,说不强大却很强大,关键不在 API 本身,而是在于使用 API 的人,作者坂本千寻老师让我学会了这一点,如果有还在看这本书的同学,希望这些文章能够给大家带来一些帮助;

这篇文章主要是记录一下目前为止见过的各种类(Class)的名字以及功能介绍;

【CWindow】Win32 标准窗口封装类

【CWinApp】Win32 标准应用程序封装类,支持多窗口以及对话框(Dialog);

【CDialog】Win32 标准对话框(Dialog)封装类;

【CMainWin】继承自 CWindow,符合游戏窗口外观的 Win32 窗口封装类,这个窗口不能改变大小,拥有固定的客户区尺寸,包含一个菜单;

【CGraphicTestApp】继承自 CWinApp,符合游戏事件处理过程的 Win32 应用程序封装类,用于创建以及登陆 CMainWin 窗口;

【CAboutDlg】继承自 CDialog,用于显示游戏版权信息以及作者信息用的对话框;

【CDib】DIB(Device Independent Bitmap)设备无关位图封装类,用于从文件加载 DIB,创建空白 DIB,以及获取 DIB 信息,不支持绘制功能;

【CImage】继承自 CDib,24 位色深(BPP)专用 DIB 类,功能同 CDib,但是只用于 24 色 DIB,支持颜色操作以及两个 DIB 之间的颜色混合,不支持绘制功能;

【CDrawImage】继承自 CImage,用于创建 DIB Section,并且使用 GDI 函数来绘制 DIB;

时间: 2024-10-20 06:23:29

坂本千寻 《Visual C++ 冒险游戏程序设计》 个人阅读笔记 PART_1的相关文章

游戏开发书籍《Visual C++ 冒险游戏程序设计(版本千寻)》源代码与书籍笔记

这里放置了阅读版本千寻的<Visual C++ 冒险游戏程序设计>一书以及配套源码时,自己对书中以及源码的理解以及一些心得,大部分都是将心得以注释的形式写在配套源代码中: //------------------------------------------------------------------------------------------------------------------------------------------ // @brief 下述代码描述了脚本编译器

《面向对象与程序设计》阅读笔记1

“抽象”是OO的关键,什么是抽象呢?是一个具有对现实事物的性质的描述,而且这个描述是能有效的区别于其它事物,并且这个描述能提供一个清楚的概念边界,这个概念的提出依赖于观察者的角度. 从而引出几个概念:“类,继承,多态,封装”,类就是一类事物,比如人类就是一个类:封装是实现面向对象程序设计的第一步,封装就是将数据或函数等集合在一个个的单元中(我们称之为类).被封装的对象通常被称为抽象数据类型:多态是同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果.在运行时,可以通过指向基类的指针,来

C程序设计语言阅读笔记

预处理器 ->.i  编译器 >.s 汇编器 >.o 链接器  --可执行文件   ------------------ math.h头文件包含各种数学函数的声明,所有函数都返回一个double类型的值 ------------------- 文本流:是由多行字符构成的字符序列,而每行字符则由0个或多个字符组成,行末是一个换行符.标准库是每个输入输出流都能遵守这一模型 1.在c语言中,所有的函数的参数都是‘通过值’传递的,即传递给被调用函数的参数值存放在临时变量中,而不是存放在原来的变量

《Visual C++ 2010程序设计案例教程[精品]》-笔记

2016-05-10 原文:www.hzbook.com 2016-05-19 原文:Visual C++ 2010程序设计案例教程 2016-05-19 原文:CTaskDialog类提供了很多简单实用的函数,可以轻松上手,使用任务对话框来改善应用程序的用户体验,使自己的应用程序的界面风格与Vista系统保持一致. 2016-05-19 原文:#pragma once行指明编译器只包含该文件一次. 2016-05-19 原文:开始输入"pl"或"to"时,可以按&

Deep Reinforcement Learning for Visual Object Tracking in Videos 论文笔记

Deep Reinforcement Learning for Visual Object Tracking in Videos 论文笔记 arXiv 摘要:本文提出了一种 DRL 算法进行单目标跟踪,算是单目标跟踪中比较早的应用强化学习算法的一个工作.  在基于深度学习的方法中,想学习一个较好的 robust spatial and temporal representation for continuous video data 是非常困难的.  尽管最近的 CNN based tracke

《Linux程序设计》&mdash;&mdash;读书笔记(2)

Linux环境: 无论操作系统何时启动一个新程序,参数argc和argv都会被设置并传递给main(即使main函数未声明参数,此时只是不能使用这些参数).这些参数通常由另一个程序提供,一般是shell,它要求操作系统启动该新程序.shell会接受用户输入的命令行,将命令行分解成单词,然后把这些单词放入argv数组. 命令行参数在向程序传递信息方面很有用,很多工具程序使用命令行参数来改变程序的行为或设置选项(这一点我们很熟悉,但是可能很少会联想到正是argc.argv参数在这里发挥作用). 尽管

JavaScript高级程序设计 - 阅读笔记

(本博客为原创:http://www.cnblogs.com/HeavenBin/) 前言: 大致花费了一个星期的时间把这本书认真看了半本,下面是我做的阅读笔记,希望能够让看这本书的人有个大致的参考.目前可能写得较乱不够全面,后续我会整理添加.(2017-7-17) 第一章 JavaScript简介 第二章 HTML中使用JavaScript 第三章  基本概念 3.1.语法 区分大小写 标识符(建议用驼峰大小写myCar) 注释// /**/ 严格模式(use strict) 语句 建议var

《JavaScript 高级程序设计》读书笔记一 简介

一   历史 二   实现 a. javascript三个部分: ECMAScript:由ECMA-262定义,提供核心语言功能: DOM:提供HTML的应用程序编程接口/提供访问和操作网页内容的方法和接口: BOM:提供与浏览器交互的方法和接口: 三   版本 <JavaScript 高级程序设计>读书笔记一 简介

《JavaScript 高级程序设计》读书笔记二 使用JavaScript

一   <script>元素 a.四个属性: async:立即异步加载外部脚本: defer:延迟到文档完全被解析再加载外部脚本: src:外部脚本路径: type:脚本语言的内容类型: 二   XHTML中用法 a. //<![CDATA[ javascript代码 //]]> 三   <noscript>元素 <JavaScript 高级程序设计>读书笔记二 使用JavaScript