内容简介
《Windows游戏程序设计基础》讲述了如何使用Visual C++来开发Windows平台游戏的基础知识,主要针对想学习游戏设计以及希望进行Windows程序设计的初学者。
全书分为4篇共14章。第1篇为Windows编程基础,除了基本的概念和工具的使用外,还介绍了窗口与消息机制、Unicode编程、GDI编程等内容;第2篇为游戏编程基础,介绍了库的编程技术、设计模式、帧的基本概念,并搭建了一个Windows下游戏编程的框架;第3篇的射击游戏综合运用前面两篇的所有知识,完成了一款射击游戏,并讲述了XML的基本编程以及关卡设计;第4篇为进一步学习打下基础,讲解了最基础的Windows核心编程,包括进程管理、多线程编程、互斥访问和同步,以及Direct X应用于2D编程的内容。《Windows游戏程序设计基础》介绍了在Windows环境下进行游戏编程所用到的各种基础知识,而并非局限于Windows API本身的编程。
《Windows游戏程序设计基础》每个章节都以简单的实例辅助对知识点的理解,力求深入浅出,并且逐渐递增难度。
目录
第1篇Windows编程基础
第1章 引言
1.1 电子游戏产业
1.1.1 概述
1.1.2 游戏产业价值链
1.1.3 电子游戏的历史
1.1.4 电子游戏产业的游戏分类
1.2 Windows的发展历史
1.3 Windows应用程序开发
1.4 一些说明
1.5 习题
第2章 学习使用VisualC++
2.1 VisualC++安装和使用
2.1.1 VisualC++的版本信息
2.1.2 创建Win32应用程序
2.2 Win32控制台应用程序设计
2.2.1 预编译头文件
2.2.2 Unicode编码
2.2.3 TCHAR
2.2.4 Debug和Release
2.2.5 基本的调试方法
2.3 良好的编程习惯
2.3.1 使用正确的代码格式
2.3.2 采用匈牙利命名法
2.4 Win32API中的常见数据类型
2.5 习题
第3章 创建窗口与消息响应
3.1 Windows应用程序的基本概念
3.1.1 窗口
3.1.2 入口函数
3.1.3 消息和窗口函数
3.1.4 进队消息与不进队消息
3.1.5 使用MSDN来学习窗口消息
3.2 创建窗口
3.2.1 包含头文件
3.2.2 定义类名和标题字符串
3.2.3 注册窗口
3.2.4 窗口类的风格
3.2.5 创建窗口
3.2.6 窗口风格
3.2.7 显示窗口
3.2.8 更新窗口
3.2.9 消息循环
3.2.10 窗口函数
3.2.11 应用程序的退出
3.3 关键在于应用
3.4 习题
第4章 Windows程序设计基础
4.1 GDI的各种概念
4.1.1 什么是GDI
4.1.2 图形设备上下文
4.1.3 WM_PAINT消息
4.2 GDI版本的Hello,World!
4.2.1 BeginPaint和EndPaint
4.2.2 输出文本
4.3 打字程序
4.3.1 按键消息
4.3.2 字符消息
4.3.3 强制刷新
4.3.4 简陋的打字程序
4.4 涂鸦程序
4.4.1 GDI函数
4.4.2 涂鸦程序
4.4.3 鼠标消息
4.4.4 GetDC与ReleaseDC
4.4.5 设置字符串
4.4.6 画线与填充
4.4.7 涂鸦程序2
4.5 时钟
4.5.1 获取系统时间
4.5.2 生成和销毁定时器
4.5.3 获取按键的输入状态
4.5.4 WM_NCHITTEST
4.5.5 使用右键菜单
4.6 使用资源
4.6.1 使用图标资源
4.6.2 使用鼠标指针
4.6.3 使用菜单
4.6.4 加速键
4.7 文件内核对象
4.7.1 CreateFile
4.7.2 文件大小和文件位置
4.7.3 读/写文件
4.7.4 与文件相关的通用对话框
4.7.5 实现涂鸦文件读/写
4.8 习题
第5章 进一步提高Windows编程
5.1 图像文件的格式
5.2 位图
5.2.1 位图的概念
5.2.2 加载位图
5.2.3 设备DC与内存DC
5.2.4 BitBlt
5.2.5 绘制位图文件的基本流程
5.2.6 完整的代码
5.2.7 改变窗口的位置与尺寸
5.3 内存DC的应用
5.3.1 镂空图
5.3.2 一个小程序
5.3.3 为什么会有屏闪
5.3.4 背景滚动
5.4 俄罗斯方块
5.4.1 设计思路
5.4.2 设计BLOCK
5.4.3 CGame的设计
5.4.4 CGame的实现
5.5 习题
第2篇 游戏编程基础
第6章 库与CxImage库
6.1 库的基本概念
6.2 编译、链接、执行
6.3 静态库的基本编程
6.4 动态库编程
6.4.1 动态库基本编程过程
6.4.2 使用统一的头文件
6.4.3 再次审视编译链接执行
6.5 使用CxImage库
6.5.1 生成CxImage
6.5.2 通过DLL使用CxImage
6.5.3 使用CxImage显示图片
6.5.4 旋转图片
6.5.5 封装CxImage
6.6 习题
第7章 常用设计模式的介绍
7.1 面向对象程序设计
7.1.1 面向对象程序设计的三大机制
7.1.2 面向对象程序设计的原则
7.2 设计模式概论
7.3 模板方法模式
7.4 策略模式
7.5 习题
第8章 搭建Windows游戏程序框架
8.1 分析Win32项目的基本代码
8.2 游戏循环
8.3 “糟糕”的消息机制
8.3.1 同步函数与异步函数
8.3.2 实现游戏循环
8.4 利用模板方法模式搭建Windows游戏程序框架
8.5 使用并完善框架类
8.5.1 使用cApplication
8.5.2 实现双缓冲技术避免屏闪
8.5.3 计算并显示帧率
8.6 查询按键及退出游戏的实现
8.6.1 获取按键状态
8.6.2 Escape退出
8.7 游戏暂停功能的实现
8.7.1 单击空格键暂停游戏
8.7.2 是否当前窗口判断游戏暂停
8.8 六字真言:输入、计算、输出
8.9 习题
第3篇 射击游戏
第9章 图像显示与背景
9.1 必要的数学运算
9.1.1 坐标和角度运算
9.1.2 敌机的旋转角度
9.1.3 边界检测
9.2 管理器的概念
9.2.1 怪物
9.2.2 怪物管理器
9.2.3 怪物仿真程序的逻辑
9.3 图片资源的管理
9.4 实现背景的滚动
9.4.1 背景类cBackground的声明
9.4.2 背景类cBackground的实现
9.4.3 背景类cBackground的使用
9.5 可移动对象接口类IMovable
9.5.1 可移动对象
9.5.2 可移动对象管理器
9.6 实现云彩
9.7 习题
第10章 飞机和子弹
10.1 总体设计
10.2 飞机
10.3 实现战机
10.4 敌机
10.4.1 整体设计
10.4.2 敌机类cEnemy
10.4.3 敌机管理器
10.4.4 敌机与战机的碰撞
10.4.5 使用敌机管理器类
10.5 敌机飞起来
10.5.1 敌机与策略
10.5.2 匀速策略类
10.5.3 策略管理器
10.5.4 直线型策略
10.5.5 让敌机具备跟踪功能
10.6 子弹
10.6.1 总体思路
10.6.2 子弹管理器
10.6.3 碰撞检测
10.6.4 发射
10.7 习题
第11章 实现关卡
11.1 XML编程基础
11.1.1 XML的基本概念
11.1.2 XML文件示例
11.1.3 使用XMLNotepad
11.2 通过XML实现关卡
11.2.1 使用TinyXML
11.2.2 XML实现敌机类型
11.2.3 XML实现子弹类型
11.2.4 XML实现战机子弹
11.2.5 XML实现关卡脚本
11.3 习题
第4篇 知识拓展
第12章 Windows体系结构
12.1 多任务的操作系统
12.2 Windows的体系结构
12.2.1 核心态
12.2.2 用户态
12.3 抢先式多任务工作方式
12.4 Windows内存管理机制
12.5 多线程
12.6 习题
第13章 Windows高级编程
13.1 内核对象与内核对象句柄
13.1.1 内核对象
13.1.2 创建内核对象
13.1.3 使用计数
13.1.4 进程间共享内核对象
13.1.5 触发/未触发状态
13.2 进程
13.2.1 进程与线程
13.2.2 通过任务管理器查看程序的信息
13.2.3 创建子进程
13.2.4 终止进程
13.3 多线程编程
13.3.1 进程与线程
13.3.2 引入线程的好处
13.3.3 如何使用多线程
13.3.4 创建线程
13.3.5 多个线程使用同一个线程函数
13.3.6 线程的调度
13.4 互斥访问共享资源
13.4.1 提出问题
13.4.2 互锁函数
13.4.3 关键段操作
13.4.4 使用内核对象保证互斥访问
13.5 线程同步
13.5.1 单向的同步关系
13.5.2 循环的同步关系
13.6 习题
第14章 使用DirectX完成二维游戏绘制
14.1 DirectX概述
14.2 初始化Direct3D
14.2.1 获取IDirect3D9接口
14.2.2 构造D3DPRESENT_PARAMETERS结构体
14.2.3 创建IDirect3DDevice9对象
14.2.4 创建Direct3D窗口
14.3 显示图形
14.3.1 页面切换
14.3.2 在响应WM_PAINT消息的代码中进行绘制
14.3.3 顶点与FVF(灵活顶点格式)
14.3.4 三角形
14.3.5 绘制二维三角形
14.4 使用DirectGraphics进行2D图像处理
14.4.1 纹理
14.4.2 创建并使用纹理
14.4.3 常用渲染状态
14.5 把Direct3D融入框架中
14.5.1 纹理类
14.5.2 渲染系统类
14.5.3 使用渲染系统
14.6 习题
附录 AVisualC++编译常见错误
附录 BASCII码表
附录 C标准模板库的使用
C.1 STL概述
C.1.1 要点
C.1.2 头文件
C.1.3 名字空间
C.1.4 迭代器
C.2 常用数据容器与数据结构
C.3 vector
C.3.1 插入数据
C.3.2 遍历
C.4 list
C.4.1 list的迭代器
C.4.2 遍历
C.4.3 删除元素
C.5 map
C.5.1 数据的插入和修改
C.5.2 数据的遍历
C.5.3 数据的查找
C.5.4 数据的清空与判空
C.6 使用标准模板库(STL)
参考文献
前言/序言
Windows游戏程序设计基础 下载 mobi epub pdf txt 电子书 格式
评分
☆☆☆☆☆
讲了很多 windows的系统知识 总体还是不错的
评分
☆☆☆☆☆
给力,就是初学者不太好懂,配有插图,总体优良。
评分
☆☆☆☆☆
对我的学习有帮助 书很好是正版的,包装一般,书角有点压坏,还好不影响什么,质量很好,发货速度很快,两天就收到了,书的内容确实很实用,这些天忘记回老家拿书了,家里人帮忙收到这本书,很早就收到了。一般情况下,女人的社会交际交需要比男性更加强烈。在传统上一般都是主张“男外女内”,而购物则使家庭主妇堂堂正正走出了家门,这样就暂时逃离了家人的束缚,使她们有机会同别的人、店员、商店老板以及其他购物者交往。因此,女人喜欢和朋友手挽着手去购物,在买东西的时候互相怂恿或者制止。相反,我们很少看到有两个大男人会约好一起购物的。我是一名传统女性,购物欲比别的女人更加需要的,当然,尤其是网上。我的人生充满坎坷:十岁时家道中落,十二岁便背井离乡,来到一个陌生的、生活条件异常艰苦的藏区当文艺兵。十五岁的花季,爱上一个军官,没有接触的机会,便通过各种暗号和接头地点传递情书,像做地下工作似的,结果得到一个意外收获:“从写情书中发现了自己的文学潜能”。但那个年代早恋是不可饶恕的大错,当我们的恋情被发现时,对方却退缩和背叛了我。一次次当众检查,一次次冷遇羞辱,使我的心灵受到重创,一度产生自杀的念头。二十岁,她弃舞从文,主动请缨,二十九岁进入鲁迅文学院作家班,与莫言、余华、刘震云等一起,登上文学的殿堂。据说,2011年8月24日,京东与支付宝合作到期。官方公告显示,京东商城已经全面停用支付宝,除了无法使用支付服务外,使用支付宝账号登录的功能也一并被停用。京东商城创始人刘先生5月份曾表示京东弃用支付宝原因是支付宝的费率太贵,为快钱等公司的4倍。在弃支付宝而去之后,京东商城转投银联怀抱。这点我很喜欢,因为支付宝我从来就不用,用起来也很麻烦的。好了,现在给大家介绍三本好书:《古拉格:一部历史》在这部受到普遍称赞的权威性著作中,安妮·阿普尔鲍姆第一次对古拉格——一个大批关押了成百上千万政治犯和刑事犯的集中营——进行了完全纪实性的描述,从它在俄国革命中的起源,到斯大林治下的扩张,再到公开性时代的瓦解。阿普尔鲍姆深刻地再现了劳改营生活的本质并且将其与苏联的宏观历史联系起来。《古拉格:一部历史》出版之后立即被认为是一部人们期待已久的里程碑式的学术著作,对于任何一个希望了解二十世纪历史的人来说,它都是一本必读书。厌倦了工作中的枯燥忙碌?吃腻了生活中的寻常美味?那就亲手来做一款面包尝尝吧!面包不仅是物质生活的代名词,还是温暖和力量的化身。作者和你一样,是一个忙碌的上班族,但她却用六年的烘焙经验告诉你:只要有一颗热爱生活的心,一双勤快灵活的手,美味的面包和美好的生活,统统都属于你!<停在新西兰刚刚好>100%新西兰=1%旅行 1%打工 98%成长全世界年轻人都在打工度假!错过30岁就等下辈子!她叫巴道。26岁那年,她发现一个书本上从来没有提过的秘密:全世界年轻人都在打工度假。拿到打工度假签证,你不必承担巨额旅费,也不必羞于张口找父母要钱,因为你可以像当地人一样打工赚钱。你不会成为一个无趣又匆忙的观光客,因为你可以花一年的时间,看细水长流。目前向中国大陆开放这种签证的国家,只有新西兰——《霍比特人》和《魔戒》的故乡,百分百纯净的蓝天白云,山川牧场。世界向年轻人敞开了一道门。门外光芒万丈,门里波谲云诡。巴道发现,自己心动了。|
评分
☆☆☆☆☆
评分
☆☆☆☆☆
给力,就是初学者不太好懂,配有插图,总体优良。
评分
☆☆☆☆☆
讲解很详细,内容非常专注,不像有些书那么宽泛。不过,想买的人要注意,这本书不讲DirectX
评分
☆☆☆☆☆
不错
评分
☆☆☆☆☆
的书了。游戏程序设计基础,很值得看,价格也非常便宜,比实体店买便宜好多还省车费。书的内容直得一读,
评分
☆☆☆☆☆
好