3D单机游戏《天鹰教》源码发布(二)
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 解释器。
截图一览
目录组织
一览
碰撞检测,飞檐走避
碰撞检测,站在桥上看风景
碰撞检测,过独木桥
自动寻路
生成导航网格
3D单机游戏《天鹰教》源码发布(二)的更多相关文章
- 2014年5月份第3周51Aspx源码发布详情
HGM简单连连看游戏源码 2014-5-19 [VS2010]源码描述:这是一款基于WinForm窗体程序的简单水果连连看的小游戏.界面比较美观, 功能如下:该游戏可以显示当前关卡,还有剩余时间.重 ...
- 2013年7月份第4周51Aspx源码发布详情
大型企业通用管理ERP源码 2013-7-26 [VS2010]2013.7.4更新内容:1.修复决策模式-客户等级不能保存问题.2.修复企业知识库有报错问题.3.修复运营模式-人力资源分析模块-在 ...
- java画图程序_图片用字母画出来_源码发布_版本二
在上一个版本:java画图程序_图片用字母画出来_源码发布 基础上,增加了图片同比例缩放,使得大像素图片可以很好地显示画在Notepad++中. 项目结构: 运行效果1: 原图:http://imag ...
- java画图程序_图片用字母画出来_源码发布
在之前写了一篇blog:java画图程序_图片用字母画出来 主要是把一些调试的截图发布出来,现在程序调试我认为可以了(当然,你如果还想调试的话,也可以下载源码自己调试). 就把源码发布出来. 项目结构 ...
- 3D语音天气球(源码分享)——完结篇
转载请注明本文出自大苞米的博客(http://blog.csdn.net/a396901990),谢谢支持! 开篇废话: 由于这篇文章是本系列最后一篇,有必要进行简单的回顾和思路整理. 这个程序是由两 ...
- 3D语音天气球(源码分享)——在Unity中使用Android语音服务
转载请注明本文出自大苞米的博客(http://blog.csdn.net/a396901990),谢谢支持! 开篇废话: 这个项目准备分四部分介绍: 一:创建可旋转的"3D球":3 ...
- 3D语音天气球(源码分享)——通过天气服务动态创建3D球
转载请注明本文出自大苞米的博客(http://blog.csdn.net/a396901990),谢谢支持! 开篇废话: 这个项目准备分四部分介绍: 一:创建可旋转的"3D球":3 ...
- 3D语音天气球(源码分享)——创建可旋转的3D球
开篇废话: 在9月份时参加了一个网站的比赛,比赛的题目是需要使用第三方平台提供的服务做出创意的作品. 于是我选择使用语音服务,天气服务,Unity3D,Android来制作一个3D语音天气预报,我给它 ...
- 7款超酷HTML5 3D动画精选应用及源码
对以前来讲,3D动画拿到网页上展示是一件非常奢侈的事情,第一是浏览器不够先进,第二是大部分只能用flash实现伪3D.HTML5的出现,让实现网页3D动画变得非常简单,当然前提是你不要再使用像IE67 ...
随机推荐
- Ubuntu CEPH快速安装
一.CEPH简介 不管你是想为云平台提供Ceph 对象存储和/或 Ceph 块设备,还是想部署一个 Ceph 文件系统或者把 Ceph 作为他用,所有 Ceph 存储集群的部署都始于部署一个个 Cep ...
- Java之反转排序
顾名思义,反转排序就是以相反的顺序把原来的数组内容重新进行排序.反转排序算法在我们的程序开发中也是经常用到的.而反转排序的基本思想也很简单,就是把数组最后一个元素与第一个元素进行交换,倒数第二个与第二 ...
- html-图片热点和网页划区
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- 【51nod】1312 最大异或和
题解 很显然我们求出一组线性基来,如果有M个基,那么可以构造N - M + 1个最大异或值 而对于线性基中的元素,除了最大的元素,我们用最大异或值异或掉每个元素累加进答案 而不是把线性基中的元素处理成 ...
- Maven 仓库之阿里云镜像配置
每当项目开发中 update Maven Project 的时候,我们会发现那个进度是非常的慢,这也严重阻碍了平日的开发进度. 然而,殊不知阿里云搭建了一个国内镜像 http://mav ...
- 黑马程序员_java基础笔记(02)...java语言基础组成
—————————— ASP.Net+Android+IOS开发..Net培训.期待与您交流!—————————— java语法(1:关键字,2:标识符,3:注释,4:常量和变量,5:运算符,6:语 ...
- EcOS安装
从ubuntu 拷贝到 centos cd /media ls cd ./sf_EcOS 这个目录就是共享目录,名字可能不一样 cp -r studio.zip /home/ 1. 查看版本 cent ...
- C#.net实现图片上传功能
C#.NET前台:<asp:Image ID="imgFood" runat="server" /> <asp:FileUpload ID=& ...
- mysql find_in_set函数详解
Mysql函数FIND_IN_SET()的使用方法 有了FIND_IN_SET这个函数.我们可以设计一个如:一只手机即是智能机,又是Andriod系统的. 比如:有个产品表里有一个type字段,他存储 ...
- C++ shared_ptr
晕晕乎乎,其他的再补充 1.shared_ptr 主要是为了方便管理内存而存在的,C++程序中不会再出现new 和 delete,内存的分配和析构全部由shared_ptr进行管理 2.当程序中对某个 ...