提到游戏开发人们的脑海中浮现的要么是一个程序员孤军奋战的身影,要么是在发行商赞助下成立的游戏开发公司。今天呢就和大家分享零基础如何利用Unity3D引擎开发一款之一人称射击单机小游戏。
1
简介简单介绍一下unity3D,它是由Unity Techologies开发的一款游戏开发引擎,也是目前手机游戏和虚拟仿真领域最活跃、最易用的开发工具。近年来随着移动平台扩张的东风,Unity几乎成为了整个游戏以及虚拟仿真领域的行业标准。
其编辑器运行在Windows 和Mac OS X下,可发布游戏至Windows、Mac、Wii、iPhone、WebGL(需要HTML5)、Windows phone 8和Android平台。也可以利用Unity web player插件发布网页游戏,支持Mac和Windows的网页浏览。它的网页播放器也被Mac 所支持。
(如国名手游王者荣耀就是采用unity开发)
2
设计思路基于Unity3D和C#脚本开发的一款FPS射击类游戏。大概剧情就是玩家可以利用手中的散弹枪击杀暴走的机器人,且需要在规定的时间内在地图内寻找到“真实的钥匙”,如果时间耗尽或者被机器人击杀则游戏失败。
(随便弄的初始界面好吧我知道很丑)
逻辑流程图:
游戏主要功能描述:
界面部分:主要为登陆游戏界面 *** 。
地形部分:主要为人物模型以及游戏场景地形
粒子特效火焰粒子特效、爆炸粒子特效
音效:开枪音效、背景音乐、爆炸音效
动作控制:玩家的前进后退左转右转子弹发射
3
主要过程
Unity3D与Xml的交互
单机小游不需要数据库,通过自定义一个Xml储存数据。以登录界面的设计为例:
这是一个名为UserInfo的内容
<?xml version=”1.0”encoding=”UTF-8”standalone=”no”?>
<users>
<users1 姓名=”张三” 密码=”123”>我是张三</user1>
<users2 姓名=”李四” 密码=”123”>我是李四</user2>
上面的Xml有两层,父节点叫users,子节点有两个,分别为user1和user2,每个节点有两个属性,姓名和密码。每个节点有一段文字内容,要求能够读取每个节点的名称内容和属性,并且能够添加节点和属性。
这是一个操作Xml读取的类,默认继承Object,这个类里面主要有三个函数
Load(string filePath):通过文件路径来加载Xml的文件内容
LoadXml(string xmlFile):通过加载Xml文件内的文本内容加载Xml。
GetRootNode():用来获取Xml的根节点,有了这个根节点,就可以访问每一个子节点。
代码如下:
using System;
using System.IO;
using System.Xml;//添加命名空间
publc class ReadXmlFile
{
XmlDocument xmlDocument;
Public ReadXmlFilet()
{
xmlDocument = new XmlDocunment();
}
///<summary>
///通过文件路径导入Xml文件,用于单机版
///<summary>
Public bool Laod(string filePath)
{
xmlDocument.Load(filePath);
return true;
}
///<summary>
///通过加载XML文本内容加载Xml,用于网页版
///<summary>
Public bool LoadXml(string xmlFile)
{
xmlDocument.LoadXml(xmlFile);
return true;
}
//获取根节点
Public XmlElement GetRootNode()
}
Return xmlDocument.DocumentElement;
}
建立一个UI界面,如图为一个简单的登陆界面
在SEO工作中,我们经常谈论sitemap地图这个词,很多新手站长并不了解什么是sitemap地图,甚至在网站上线的时候并没有提交sitemap地图,直到发现网站收录很慢的时候,才开始寻找原因。那...
其实每个人都可以做网站,现在发展这么快,有很多网站源码都可以免费使用了,那么我们如何在不花钱的情况下建立一个属于自己的网站呢。 一、用自己的电脑搭建网站 我们可以在自己的电脑里配置网站的环境,搭...
本文将为大家介绍如何敲定一个具体的设计原则,并展示了具体步骤——从公司战略层提取到核心一级关键词,到二级关键词,以及对应的设计手法,对应到形色字构质。 上篇文章讲了为什需要设计语言以及设计语言包含了...