3D单机游戏《天鹰教》源码发布
作者
作者: 游蓝海
博客: http://blog.csdn.net/you_lan_hai
mail: you_lan_hai@foxmail.com
版权: copyright 2012-2013 youlanhai. All right reserved. 你可以免费使用,任意修改。只需在你作品的某个地方注明出处,当然这不是必须的。
闲话
之前还发表过一篇关于《天鹰教》源码的文章,故此标题多了个二()。本次发布最大的亮点是,加入了碰撞检测和自动寻路功能。
本游戏程序最初是我的毕业设计作品,早期时间仓促,代码结构很糟糕。后来利用工作业余时间,逐渐添加了一些新功能呢,比如:碰撞检测和自动寻路。我喜欢编程,不擅长写策划,大家就不要喷内容哈。写程序的时候,参考过很多高手的代码,在此感谢大牛们的开源精神。在此,我也将代码开源,跟大家共同学习交流。同时,也希望这些代码,能对曾经像我一样的游戏编程新手有所帮助。
源码下载地址:http://pan.baidu.com/share/link?shareid=386464581&uk=1980706517
剧情说明
本游戏《天鹰教》,是一款传统的3D角色扮演类游戏(RPG),讲述的是元朝末年,
天鹰教反抗腐败朝廷统治的英雄故事。玩家通过扮演游戏中的角色,来了解天鹰教的
发展历史。随着剧情的发展,玩家的命运将决定着整个天鹰教的兴衰。
程序运行说明
1.本游戏程序使用VC++2010 express开发工具,d3d9sdk(June 2010)开发。
2.游戏程序为: bin/MyGame.exe。运行程序需要安装vc++2010运行库,以及dx(June 2010版本以上)运行库。
3.特别说明: 由于自动寻路数据资源过大,目前资源包中,只生成了test地图的寻路数据。如果要测试其他地图的
自动寻路,需要运行路点计算工具bin/Navigation.exe,生成所有地图路点。所有地图的路点数据总和预计为200M。
操作说明
移动:WASD
跳跃:空格键。(↑↓键可以在垂直方向,无障碍移动角色位置)
左旋:者鼠标左/右键向左拖拽。
右旋:者鼠标左/右键向右拖拽。
推进/推远相机:鼠标滚轮
切换相机模式:1-第一人称,2-第三人称,3-*模式
鼠标移动:鼠标左键单击
点选人物:鼠标左键单击
人物交互:鼠标右键单击
系统菜单:Esc
地图信息:M(可以直接在此界面里,进行场景跳转)
地图编辑器:E
角色坐标信息查看:P
相机坐标信息查看:O
系统信息:K
天空盒显隐: F2
雾化开启/关闭: F3
人物包围盒开启/关闭: F4
场景物体包围盒开启/关闭: F5
切换显框模式: F8
代码目录说明
MyGame : 游戏应用程序工程,也是vs解决方案所在目录。
Navigation: 导航网格生成工程,用于生成导航网格数据。
bin : 应用程序生成目录,以及游戏所用到的资源、脚本、工具、第三方动态链接库等。
lib : 第三方库文件目录。
LZ3DEngine : Lazy3d游戏引擎的核心工程。
LZGUI : 3d ui库。
Font : 封装了freetype字体库。
Physics : 物理引擎。主要功能为碰撞检测跟自动寻路。
PyWraper : python导出工程。
utility : 实用工具。字符串格式化,文件处理,多线程,配置文件解析器,内存池等。
LZData : 配置文件解析器,支持简易xml格式文件以及原创lzd格式。此项目为旧工程,最新的实现已经整合到了utility工程。
third_part : 第三方代码头文件。
third_part/audiere : audiere.1.9.4 简单音频播放器。
third_part/freetype : freetype.2.4.11 truetype字体处理。
third_part/boost : boost.1.48 boost.python库。
third_part/python : python.2.7 解释器。
截图一览
目录组织
一览
碰撞检测,飞檐走避
碰撞检测,站在桥上看风景
碰撞检测,过独木桥
自动寻路
生成导航网格