博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
泡泡堂 DirectX11 Demo 2016.8.14 v1.2更新
阅读量:4089 次
发布时间:2019-05-25

本文共 1163 字,大约阅读时间需要 3 分钟。

一、说明:

本程序是模仿泡泡堂游戏功能的Demo,使用DirectX11图形库和C++语言,在VS2010环境下编译。

二、程序运行环境:

WIN7以上系统,64/32位均可,DirectX版本需要在11以上。

三、搭建编译环境:

右击项目-点击属性:

1.在常规页面,字符集修改为“使用多字节字符集”
2.在链接器-输入页的附加依赖项添加:
dxguid.lib;dinput8.lib;dxerr.lib;d3d11.lib;d3dx11.lib;d3dcompiler.lib;
(以下两项因为不同电脑的DirectX11图形库路径不同,需要重新设置目录路径)
3.在VC++目录页的包含目录添加DirectX11图形库头文件目录:如:
C:\Users\Administrator\Desktop\泡泡堂Demo V1.0\源代码\DirectX11图形库\Microsoft DirectX SDK (June 2010)\Include;
4/在VC++目录页的库目录添加DirectX11图形库Lib文件目录,如:
C:\Users\Administrator\Desktop\泡泡堂Demo V1.0\源代码\DirectX11图形库\Microsoft DirectX SDK (June 2010)\Lib\x86;

四、程序运行截图:

截图1

截图2

截图3

V1.2:(新增AI)

这里写图片描述

五、总结

第一次用DirectX11做游戏,主要是为了复习和熟练DirectX11知识。这个做游戏的过程复习还有学习了很多有趣的东西,用到比较好玩的技术有:

  • 脏矩形:优化2D游戏,使得程序不必每次都渲染所有精灵图片,而只要渲染改变的那部分矩形。本来FPS最高才10多20,使用了脏矩形技术,FPS飙得非常高,不过为了玩起来游戏平滑,要设置固定FPS。

  • 有限状态机:使得游戏对象可以在不同的状态进行切换,但是同时又使得代码非常整洁,避免使用了过多的if else减低程序可维护度。

  • 消息功能:封装一个电报消息,使得游戏对象直接可以发送消息,也可以设置消息立即执行还是过多久才执行,如游戏的泡泡爆炸是设置了数秒后向泡泡发送爆炸的消息。

  • 碰撞检测:这个游戏的碰撞检测有一点不同,当游戏角色碰到方块的边缘时,要让它平滑地“漂移”才能够拐弯。不然是无法刚刚进入一个大小刚刚好的方块的。

六、泡泡堂DirectX11完整项目源代码下载地址(无需积分):

v1.0更新内容:

  • 人物按方向键移动
  • 人物按空格释放泡泡
  • 泡泡可炸墙
  • 墙内含有属性道具
  • 人物捡起道具可获得属性增强

v1.0下载地址:

v1.2更新内容:

  • 增加电脑AI自动寻路算法演示
  • 优化脏矩形算法
  • 将游戏自身与游戏引擎分离

v1.2 下载地址:

注意:由于本人要开展新的项目,此Demo已不再维护。

你可能感兴趣的文章
PDF分割--可脱离python环境执行,可传参数,可弹窗的PC端小工具
查看>>
layui中的html怎样接收后台的值,layui框架与SSM前后台交互的方法
查看>>
axios采坑之路
查看>>
滚动条加粗和panel,gridControl结合用
查看>>
Delphi For Android 使用Posix函数获取网络信息(MAC, IP...)
查看>>
记录点滴8
查看>>
linux split 及优化
查看>>
需求蔓延相关疑问
查看>>
libcurl在windows下的使用
查看>>
SQL执行效率1
查看>>
linux软件安装
查看>>
<随便写>佛祖,哈哈!
查看>>
Netty源码分析第7章(编码器和写数据)---->第3节: 写buffer队列
查看>>
利用DllImport来移动文件,真快!
查看>>
C#多线程代码调试技巧
查看>>
Caffe学习系列(6):Blob,Layer and Net以及对应配置文件的编写
查看>>
ELK安装与配置
查看>>
系统启动过程
查看>>
Java中使用Runtime和Process类运行外部程序
查看>>
33.Android之Fragment学习
查看>>