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 ...
随机推荐
- 编写组件TComponent published $M+ 问题
报错如下: PUBLISHED caused RTTI ($M+) to be added to type 修改成下面这样之后: 解决问题 方法: 来自:http://www.cnblogs.com/ ...
- INSTEAD OF与AFTER触发器
INSTEAD OF 触发器 AFTER 触发器(也叫“FOR”触发器)会在触发 insert.update 或是delect 动作之后执行.例如,一个 Employees 表上的 AFTER 触发器 ...
- qlserver排序规则在全角与半角处理中的应用
--1.查询区分全角与半角字符--测试数据DECLARE @t TABLE(col varchar(10))INSERT @t SELECT 'aa'UNION ALL SELECT 'Aa'UNIO ...
- 安装SHARP MX-3618NC PCL6打印机驱动程序
第一步, 打开MX-CR3_PCL_PS_1302a_ChineseS_Win8Server2012.exe 驱动程序 此驱动支持Win8.Server2012及以下版本的操作系统,同时兼容Win1 ...
- progressDialog和子线程模拟显示拷贝进度
package com.example.wang.myapplication; import android.app.ProgressDialog; import android.os.Bundle; ...
- OpenCV 颜色空间转换参数CV_BGR2GRAY改变
OpenCV的颜色空间转换函数: C++: void cvtColor(InputArray src, OutputArray dst, int code, int dstCn=0 ) 参数d ...
- RabbitMQ系列之高可用集群
为了实现高可用,我采用LVS+双节点RabbitMq , 架构图如下: 在RabbitMQ之前放了LVS, LVS 采用 rr 轮询算法 , 目的是将请求平均分配到两个真实节点,并配置5672端口监控 ...
- USACO 4.4 Shuttle Puzzle
Shuttle PuzzleTraditional The Shuttle Puzzle of size 3 consists of 3 white marbles, 3 black marbles, ...
- 自定义Counter使用
自定义计数器的使用(记录敏感单词) package counter; import java.net.URI; import org.apache.hadoop.conf.Configuration; ...
- 第一个web程序(web.xml , ServletConfig , ServletContext)
一:第一个jsp程序 1.项目设计结构 2.新建Person.java package com.java.demo; public class Person { public void printSt ...