「怎么制作游戏」零基础制作手机游戏的方法

  • 内容
  • 相关
      提及游戏编程大家记忆里闪过要不一个程序猿孤军作战背影要不是在发行商冠名赞助创立游戏制作公司
今日呢就和大伙儿共享零基础怎样运用Unity3D模块开发设计一款第一人称射击单机小游戏
 
1、介绍
      简易详细介绍一下unity3D,这是由UnityTechologies开发设计一款游戏编程模块都是现阶段游戏虚拟仿真行业活跃性、最实用开发环境
近些年来工作平台扩大车风,Unity基本上变成全部手机游戏及其虚拟仿真行业国家标准

想自己制作游戏?零基础怎么办?Unity3D帮你实现

      其在线编辑器运作在Windows和MacOSX下,可公布手机游戏至Windows、Mac、Wii、iPhone、WebGL(必须HTML5)、Windowsphone8和Android服务平台还可以运用Unitywebplayer软件公布页游适用Mac和Windows的浏览网页。它的网页播放器也被Mac适用

 

想自己制作游戏?零基础怎么办?Unity3D帮你实现

(如国名手游王者荣耀就是采用unity开发)

2、设计理念
 
      根据Unity3D和C#脚本制作开发设计一款FPS枪战类游戏大约故事情节就是说游戏玩家能够运用手上散弹枪击倒爆走智能机器人,且必须要求時间本质地形图找寻到“真正锁匙”,假如時间耗光或是智能机器人击倒手机游戏不成功

想自己制作游戏?零基础怎么办?Unity3D帮你实现

(随便弄的初始界面好吧我知道很丑)

逻辑流程图:

想自己制作游戏?零基础怎么办?Unity3D帮你实现

游戏主要功能描述:

  • 界面部分:主要为登陆游戏界面制作。

  • 地形部分:主要为人物模型以及游戏场景地形

  • 粒子特效火焰粒子特效、爆炸粒子特效

  • 音效:开枪音效、背景音乐、爆炸音效

  • 动作控制:玩家的前进后退左转右转子弹发射

想自己制作游戏?零基础怎么办?Unity3D帮你实现

3、关键全过程
 
      Unity3D与Xml的互动,单机版小游不用数据库查询根据自定一个Xml存储数据信息
登陆界面设计方案为例:
它是一个名叫UserInfo的內容
我就是张三
我就是李四
上边的Xml有双层,父连接点叫users,子连接点2个各自为user1和user2,每一连接点2个特性名字登陆密码每一连接点一段文字內容规定可以载入每一连接点名字內容特性而且可以加上连接点特性它是一个实际操作Xml载入的类,默认设置承继Object,这一里边关键三个涵数
Load(stringfilePath):根据文档相对路径载入Xml的文档內容
 
LoadXml(stringxmlFile):根据载入Xml文档内的文字內容载入Xml。
 
GetRootNode():用于获得Xml的根连接点拥有这一连接点,就能够浏览一个连接点
 
编码以下
 
usingSystem;
 
usingSystem.IO;
 
usingSystem.Xml;//加上命名空间
 
publcclassReadXmlFile
 
{
 
XmlDocumentxmlDocument;
 
PublicReadXmlFilet()
 
{
 
xmlDocument=newXmlDocunment();
 
}
 
///
 
///根据文档相对路径导进Xml文档用作手游单机版
 
///
 
PublicboolLaod(stringfilePath)
 
{
 
xmlDocument.Load(filePath);
 
returntrue;
 
}
 
///
 
///根据载入XML文字內容载入Xml,用作电脑版网页
 
///
 
PublicboolLoadXml(stringxmlFile)
 
{
 
xmlDocument.LoadXml(xmlFile);
 
returntrue;
 
}
 
//获得连接点
 
PublicXmlElementGetRootNode()
 
}
 
ReturnxmlDocument.DocumentElement;
 
}
 
创建一个UI页面如图所示一个简易登录界面

想自己制作游戏?零基础怎么办?Unity3D帮你实现

我明白页面难看
关键的是学习的方法!)将Xml文档载入进去编码以下
 
readXmIFile=newReadXmlFile();
 
//公布EXE浏览当地Xml的那时候应用这类载入方法这类方法公布网页页面不兼容
 
readXmlFile.Load(Application.dataPath+”/Data/Xml/UserInf
 
      刚开始登录认证最先分辨是不是存有这一客户假如存有获得这一Xml连接点,将连接点登陆密码这一特性客户键入特性开展较为同样登录取得成功不然不成功
 
一部分编码以下
 
VoidOnGUI()
 
{
 
GUI.matrix=Matrix4x4.TRS(Vector3.zero,Quaternion.identity,newVector3(GUIR.wscale,GUIRoot.hscale,I));
 
windowRect=GUI.WindowRect,DoMyWindow,””);
 
)
 
VoidDoMyWindow(intwindoeID)
 
{
 
GUI.Label(newRect(100,5,100,50),”登陆认证”,labeIStyle);
 
GUI.Label(newRect(40,65,60,40),”登录名”,labeIStyle);
 
name=GUI.TextField(newRect(105,75,100,20),name,15);
 
GUI.Label(newRect(40,130,60,60),”登陆密码”,labeIStyle);
 
pwd=GUI.TextField(newRect(105,145,100,20),pwd,15);
 
if(GUI.Button(newRect(100,200,100,40)”Login”))
 
{
 
}
 
}
 
动画特效保持
 
      射的火苗滔滔烟雾萤火、雨、雾或是你能想起别的一切实际效果这种实际效果一般称之为物体实际效果(particleeffect)这儿关键叙述的是枪械狙击火苗实际效果保持

想自己制作游戏?零基础怎么办?Unity3D帮你实现

游戏粒子效果如图所示:

想自己制作游戏?零基础怎么办?Unity3D帮你实现

动画的运用

基本知识

动画是预制的可视动作集,在2D游戏中,这涉及具有多福顺序的图像,并且可以非常快的翻转他们,结果就是对象看似在移动。这种效果类型于老式的翻转书,3D世界里的动画有很大的差别。在3D游戏中,使用模型来表示游戏实体,不能简单地在模型只见切换,以提供运动的幻觉。

Animation运用

射击及换子弹动画的实现,首先在Unity Asset Store中下载所需的模型并导入,动画通常是作为模型的一部分出现的,Animations选项卡中包含管理内置的动画所需的所有属性和控制选项。

将动画拖到Animation组件的Animations属性上,把它们应用于模型,这样使动画可供模型使用,但是不会实际的创建模型的动画,在多个动画间的切换通过脚本完成,C#脚本如下:

void Start ()

{

aui = this.GetComponent<AudioSource>();//获取AudioSource的组件

A = Q.GetComponent<Animation>();//获取Animation的组件

}

void Update ()

{

if (!A.IsPlaying ("Gun02Reload"))

{

if (Input.GetMouseButtonDown (0)&&IsAttck==true )

{

Zcount++;//计算子弹个数

if (Zcount==5) {

A.Play("Gun02Reload");

Zcount = 0;

} else {

A.Play("Gun02Shoot");

}//判断播放动画

IsAttck = false;//禁止开枪

Invoke ("OnAttck", 1.2f);//通过延迟12S允许开枪

aui.clip = G;

aui.Play();//播放开枪音效

L.transform.gameObject.SetActive(true );//火焰粒子效果开启

Invoke ("OFFL", 0.1f);//通过0.1S延迟关闭粒子效果

GameObject xx = Instantiate(XX);//“克隆”子弹预制件

xx.transform.position = came .transform.position;//为“克隆”的子弹赋予初始位置

xx.GetComponent<Rigidbody>().velocity = came .transform .TransformDirection (Vector3.forward) * speed;

//为子弹添加方向与力

Destroy(xx,2f);//两秒后自动销毁子弹

}

}

}

void OFFL(){

L.transform.gameObject.SetActive(false);

}

void OnAttck(){

IsAttck = true;

}

触碰效果的应用

      首先我们要制作一个玩家需要去收集的物体,从Assert store下载并导入一3D模型。如图导入的一个书本模型:

 

想自己制作游戏?零基础怎么办?Unity3D帮你实现

      然后为了让它能够和玩家物体发生交互,我们将为它添加一个原型碰撞器。点击菜单Component——Physice——Box Collider 因为我们不希望玩家在收集它的时候突然撞上去然后停止运动,所以我们将它的碰撞器设置为触发模式,在组件中勾起Is Trigger。

想自己制作游戏?零基础怎么办?Unity3D帮你实现

部分C#脚本如下:

void OnTriggerEnter(Collider col)//Player触发事件

{

if (col.transform.tag == "DIR")//假如触发对象的tag为“DIR”(敌人)

{

f -= 0.1f;//每攻击一次减少0.1

S.value = f;

if (f<= 0)//血量小于等于0

{

this.transform .gameObject .SetActive (false );//关闭玩家本身

TT.fontSize = 60;//

TT.text = "你输了!!!";

Time.timeScale = 0;//暂停游戏所有运行

}

}

if (col.transform.tag =="B1")//当触发对象的tag为“B1”

{

tis.transform.gameObject.SetActive(true);

tis.text = "一页残卷";

Invoke("ZanT",1);//通过1S延迟关闭UI的TXT显示

aui.clip = ZHH;

aui.Play();

}

if (col.transform.tag == "B2")//当触发对象的tag为B2”“

{

G1++;

tis.transform.gameObject.SetActive(true);

tis.text = "真实钥匙";

Invoke("ZanT", 1);//通过1S延迟关闭UI的TXT显示

aui.clip = ZHH;

aui.Play();

}

}

void ZanT()

{

tis.transform.gameObject.SetActive(false );

}

想自己制作游戏?零基础怎么办?Unity3D帮你实现

(游戏运行的截图)

本文标签:

版权声明:若无特殊注明,本文皆为《Black Leaguer》原创,转载请保留文章出处。『鹦鹉搜索』

百度收录:百度已收录『查看详情』

本文链接:「怎么制作游戏」零基础制作手机游戏的方法 - https://www.15qq.cn/spe_seo/1053.html

发表评论

电子邮件地址不会被公开。 必填项已用*标注

允许邮件通知