Unity3D编写雷电游戏

Unity3D编写雷电游戏

ID:37913422

大小:2.13 MB

页数:20页

时间:2019-06-02

Unity3D编写雷电游戏_第1页
Unity3D编写雷电游戏_第2页
Unity3D编写雷电游戏_第3页
Unity3D编写雷电游戏_第4页
Unity3D编写雷电游戏_第5页
资源描述:

《Unity3D编写雷电游戏》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、基础实用的一篇经验教程!一、搭建游戏的框架。一般的游戏都可以分为四个场景:1.开始界面2.游戏场景3.暂停界面4.结束界面开始界面,就是存放开始菜单的地方了,游戏场景就是游戏的主场景,游戏的主要元素都在这边体现,暂停和结束画面我就不多说了。更多的还有在开始和主游戏场景之间加入过场动画等等。当然你也可以在暂停界面中插入广告我们会发现这几个场景之间其实就是切换来切换去的关系。如果知道设计模式中的State模式,就会发现跟这个很象。可以通过State模式来实现这几个场景的分离,然后分边为他们添加不同的

2、元素。想要挂接在Unity3D中的结点的脚本都得继承MonoBehaviour,State就是所有的状态的父类了,主要是三个函数,Init()用于这个状态的初始化,Update用于场景的更新,Exit()用于当离开当前状态时所进行的一些操作,比如隐藏当前界面等。创建一个空的Object用来挂接我们游戏的主脚本,代码如下:usingUnityEngine;usingSystem.Collections;publicclassMain_Script:MonoBehaviour{publicState

3、m_CurState;publicvoidChangeState(StatenewState){m_CurState.Exit();m_CurState=newState;m_CurState.Init();}//UsethisforinitializationvoidStart(){m_CurState.Init();}//UpdateiscalledonceperframevoidUpdate(){m_CurState.Update();}}这样我们就可以轻松的在不同的状态中切换了。想要增加

4、一个新的状态,就只需继承State类,然后在其中写这个状态所要的元素,在适当的地方ChangeState一下就好了。脚本的层次结构如下:例如我在按钮按下时切换到开始场景:usingSystem.Collections;publicclassBeginGame:MonoBehaviour{publicStateRunm_RunState;publicMain_Scriptm_MainScript;//UsethisforinitializationvoidStart(){}//Updateisca

5、lledonceperframevoidUpdate(){}voidOnMouseEnter(){print("enter");}voidOnMouseUp(){m_MainScript.ChangeState(m_RunState);}voidOnMouseExit(){print("exit");}}这个脚本是挂在一个板上面的,点击它时就进入游戏的主场景了。下回说一下飞机的移动。现在开始真正的游戏元素的编写了。第一步,让飞机动起来。首先是飞机的前进,通常2D中的做就是背景的循环滚动。在3D中

6、我们可以让摄像机移动,背景我们可以做超一个大地形。。在地形上摆一些固定的东西。//UpdateiscalledonceperframevoidUpdate(){TurnLeft=false;TurnRight=false;if(Input.GetKey(KeyCode.W)){Vector3screenPos=Camera.mainCamera.WorldToScreenPoint(this.transform.position);//print(screenPos.y);if(Screen.h

7、eight>screenPos.y)this.transform.Translate(Vector3.forward*Time.deltaTime*m_nMoveSpeed);}if(Input.GetKey(KeyCode.S)){Vector3screenPos=Camera.mainCamera.WorldToScreenPoint(this.transform.position);if(0

8、ard*Time.deltaTime*-m_nMoveSpeed);}if(Input.GetKey(KeyCode.A)){Vector3screenPos=Camera.mainCamera.WorldToScreenPoint(this.transform.position);if(0

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。