纳金网

标题: Unity3D编写雷电游戏(一) [打印本页]

作者: 会飞的鱼    时间: 2012-1-17 14:47
标题: Unity3D编写雷电游戏(一)
一、搭建游戏的框架。
一般的游戏都可以分为四个场景:
1.开始界面
2.游戏场景
3.暂停界面
4.结束界面
开始界面,就是存放开始菜单的地方了,游戏场景就是游戏的主场景,游戏的主要元素都在这边体现,暂停和结束画面我就不多说了。更多的还有在开始和主游戏场景之间加入过场动画等等。当然你也可以在暂停界面中插入广告
我们会发现这几个场景之间其实就是切换来切换去的关系。如果知道设计模式中的State模式,就会发现跟这个很象。可以通过State模式来实现这几个场景的分离,然后分边为他们添加不同的元素。






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

public class Main_Script : MonoBehaviour {
   
    public State m_CurState;
   
    public void ChangeState(State newState)
    {
        m_CurState.Exit();
        m_CurState = newState;
        m_CurState.Init();
    }

    // Use this for initialization
    void Start () {
        m_CurState.Init();
    }
   
    // Update is called once per frame
    void Update ()
    {
        m_CurState.Update();
    }
}
这样我们就可以轻松的在不同的状态中切换了。想要增加一个新的状态,就只需继承State类,然后在其中写这个状态所要的元素,在适当的地方ChangeState一下就好了。




由 u1  基础实用的一篇经验教程!



本文转自:http://www.cnblogs.com/gameprogram/
作者: tc    时间: 2012-2-16 23:24
呵呵,很漂亮啊

作者: 奇    时间: 2012-3-5 23:20
发了那么多,我都不知道该用哪个给你回帖了,呵呵

作者: 菜刀吻电线    时间: 2012-4-8 23:27
再看一看,再顶楼主

作者: 奇    时间: 2012-5-5 23:21
精典,学习了!

作者: tc    时间: 2012-5-7 23:25
发了那么多,我都不知道该用哪个给你回帖了,呵呵

作者: 奇    时间: 2012-5-8 23:21
不错哦,顶一下......

作者: 奇    时间: 2012-5-8 23:25
我看看就走,你们聊!

作者: 菜刀吻电线    时间: 2012-6-17 23:22
其实楼主所说的这些,俺支很少用!

作者: 晃晃    时间: 2012-6-22 23:20
很有心,部分已收录自用,谢谢

作者: 奇    时间: 2012-8-22 23:48
凡系斑竹滴话要听;凡系朋友滴帖要顶!

作者: tc    时间: 2013-1-25 12:53
真不错,全存下来了.

作者: 奇    时间: 2013-2-20 23:31
不错 非常经典  实用





欢迎光临 纳金网 (http://old.narkii.com/club/) Powered by Discuz! X2.5