unity3d游戏开始界面_unity 3d游戏开始界面 - CSDN
  • 转自:http://blog.csdn.net/qqmcy/article/details/9330405 using UnityEngine;  ...using System.Collections;...public class Script_10_01 : MonoBehaviour  ... //游戏界面状态机   

    转自:http://blog.csdn.net/qqmcy/article/details/9330405

    1. using UnityEngine;  
    2. using System.Collections;  
    3.   
    4. public class Script_10_01 : MonoBehaviour   
    5. {  
    6.       
    7.     //游戏界面状态机  
    8.       
    9.     //主菜单界面  
    10.     public const int STATE_MAINMENU = 0;  
    11.     //开始游戏界面  
    12.     public const int STATE_STARTGAME = 1;  
    13.     //游戏设置界面  
    14.     public const int STATE_OPTION = 2;  
    15.     //游戏帮助界面  
    16.     public const int STATE_HELP = 3;  
    17.     //游戏退出界面  
    18.     public const int STATE_EXIT = 4;  
    19.       
    20.     //GUI皮肤  
    21.     public GUISkin mySkin;  
    22.       
    23.     //游戏背景贴图  
    24.     public Texture textureBG;   
    25.     //开始菜单截图  
    26.     public Texture tex_startInfo;  
    27.     //帮助菜单贴图  
    28.     public Texture tex_helpInfo;  
    29.       
    30.     //游戏音乐资源  
    31.     public AudioSource music;    
    32.     //当前游戏状态  
    33.     private int gameState;  
    34.       
    35.     void Start ()  
    36.     {  
    37.         //初始化游戏状态为:主菜单界面  
    38.         gameState = STATE_MAINMENU;  
    39.     }  
    40.       
    41.     void OnGUI()  
    42.     {  
    43.       
    44.         switch(gameState)  
    45.         {  
    46.             case STATE_MAINMENU:  
    47.                 //绘制主菜单界面  
    48.                 RenderMainMenu();  
    49.             break;  
    50.             case STATE_STARTGAME:  
    51.                 //绘制游戏开始界面  
    52.                 RenderStart();  
    53.             break;  
    54.             case STATE_OPTION:  
    55.                 //绘制游戏设置界面  
    56.                 RenderOption();  
    57.             break;  
    58.             case STATE_HELP:  
    59.                 //绘制游戏帮助界面  
    60.                 RenderHelp();  
    61.             break;  
    62.             case STATE_EXIT:  
    63.                 //绘制游戏退出界面  
    64.                 //目前直接关闭退出游戏  
    65.             break;  
    66.         }  
    67.           
    68.   
    69.     }  
    70.     //绘制主菜单界面  
    71.     void RenderMainMenu()  
    72.     {  
    73.         //设置界面皮肤  
    74.         GUI.skin = mySkin;  
    75.         //绘制游戏背景图  
    76.         GUI.DrawTexture(new Rect(0,0,Screen.width,Screen.height),textureBG);  
    77.         //开始游戏按钮  
    78.         if(GUI.Button(new Rect (0,30,623,153),"","start"))  
    79.         {  
    80.             //进入开始游戏状态  
    81.             //目前由于是测试阶段  
    82.             //后期会在这里重新载入新的游戏场景  
    83.             gameState = STATE_STARTGAME;  
    84.         }  
    85.         //游戏设置按钮  
    86.         if(GUI.Button(new Rect (0,180,623,153),"","option"))  
    87.         {  
    88.             //进入开始游戏状态  
    89.             gameState = STATE_OPTION;  
    90.         }  
    91.         //游戏帮助按钮  
    92.         if(GUI.Button(new Rect (0,320,623,153),"","help"))  
    93.         {  
    94.             //进入游戏帮助状态  
    95.             gameState = STATE_HELP;  
    96.         }  
    97.         //游戏退出按钮  
    98.         if(GUI.Button(new Rect (0,470,623,153),"","exit"))  
    99.         {  
    100.             //退出游戏  
    101.             Application.Quit();  
    102.         }  
    103.     }  
    104.     //绘制游戏开始界面  
    105.     void RenderStart()  
    106.     {  
    107.         GUI.skin = mySkin;  
    108.         GUI.DrawTexture(new Rect(0,0,Screen.width,Screen.height),tex_startInfo);  
    109.         //绘制返回按钮  
    110.         if(GUI.Button(new Rect (0,500,403,78),"","back"))  
    111.         {  
    112.             //返回游戏主菜单  
    113.             gameState = STATE_MAINMENU;  
    114.         }  
    115.     }  
    116.     //绘制游戏帮助界面  
    117.     void RenderHelp()  
    118.     {  
    119.         GUI.skin = mySkin;  
    120.         GUI.DrawTexture(new Rect(0,0,Screen.width,Screen.height),tex_helpInfo);  
    121.         if(GUI.Button(new Rect (0,500,403,78),"","back"))  
    122.         {  
    123.             gameState = STATE_MAINMENU;  
    124.         }  
    125.     }  
    126.     //绘制游戏设置界面  
    127.     void RenderOption()  
    128.     {  
    129.         GUI.skin = mySkin;  
    130.         GUI.DrawTexture(new Rect(0,0,Screen.width,Screen.height),textureBG);  
    131.           
    132.         //开启音乐按钮  
    133.         if(GUI.Button(new Rect (0,0,403,75),"","music_on"))  
    134.         {  
    135.             if (!music.isPlaying)  
    136.             {    
    137.                 //播放音乐  
    138.                 music.Play();    
    139.             }    
    140.   
    141.         }  
    142.         //关闭音乐按钮  
    143.         if(GUI.Button(new Rect (0,200,403,75),"","music_off"))  
    144.         {  
    145.             //关闭音乐  
    146.             music.Stop();  
    147.         }  
    148.         //返回按钮  
    149.         if(GUI.Button(new Rect (0,500,403,78),"","back"))  
    150.         {  
    151.             //返回游戏主菜单  
    152.             gameState = STATE_MAINMENU;  
    153.         }  
    154.     }  
    155. }  



    展开全文
  • 游戏中除了3d场景以外,UI界面也是很重要的一部分,例如主角的头像、血条、背包、按钮等。 下面是myrpg中的简单UI界面,使用NGUI插件制作:   一、导入NGUI插件 NGUI是一个非官方的GUI插件,但是特别好用,...

    个人博客文章链接:http://www.huqj.top/article?id=161

    游戏中除了3d场景以外,UI界面也是很重要的一部分,例如主角的头像、血条、背包、按钮等。

    下面是myrpg中的简单UI界面,使用NGUI插件制作:

    ui.png

     

    一、导入NGUI插件

    NGUI是一个非官方的GUI插件,但是特别好用,所以一般大家都会选择NGUI来制作界面,导入方式很简单,下载NGUI 的unity包然后拖到项目中即可,因为NGUI包有版本要求,所以这里就不贴资源了,大家可以到网上下载。

    倒入之后菜单栏会多一个NGUI的菜单:

    图片.png

     

    二、使用NGUI制作血条示例

    NGUI有一些预制的组件,例如进度条,这可以方便的实现血条显示功能,首先从 NGUI -> open -> prefeb toolbar 打开预制对象

    图片.png

    然后选择一个进度条样式拖拽到Hierarchy中,这样就创建了一个进度条:

    图片.png

    这里的hp bar就是血条,它由多个子物体组成,包括背景色、前景色等,可以在Inspector中设置调整进度条的颜色,大小、位置

    图片.png

     

    图片.png

    然后注意到进度条中on个有一个UISlider组件,通过这个组件的value值就可以调整进度条的进度显示:

    图片.png

    所以在代码中人物血量变化的地方(例如收到攻击、喝药水),重新设置进度条的进度从而实现血条的功能。

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    //血条显示

    private static UISlider _hPSlider;

     

    void Start()

    {

        _hPSlider = GameObject.FindGameObjectWithTag("hp").GetComponent<UISlider>();

    }

     

    /**

    * 给主角造成伤害

    */

    public static void GotAttack(int hurt)

    {

       ......

     

        tmp = Health - hurt;

        Health = tmp > 0 ? tmp : 0;

        //血条显示值变化

        _hPSlider.value = (float) Health / MaxHealth;

    }

     

    三、按钮制作示例

    按钮制作的关键在于绑定点击事件,如果使用u3d自带的ui组件还挺麻烦的,但是NGUI就很简单了。

    首先创建一个sprite组件,这个组件其实就可以理解为一个图片,然后选择图集里的一张图片绑定在sprite上,然后在父sprite目录下还可以创建子sprite,同样可以绑定一张图片,这样就可以实现按钮的背景和前景图片了。

    图片.png

    这里我制作的是加血的按钮,所以还有一个数字label用来显示还剩多少血药,效果如下:

    图片.png

    为了实现按钮的效果还需要给sprite绑定一个按钮点击组件,方法是选中sprite之后,点击NGUI->Attach->Collider,这样添加了一个碰撞检测,然后再点击NGUI->Attach->Button Script这样就绑定了一个点击脚本,会发现这时候多出了一个组件可以绑定一个点击函数:

    图片.png

    然后写一个点击事件的脚本,创建一个public的非静态方法:

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    22

    23

    24

    25

    /**

     * 使用血药加血(按钮效果)

     */

    public void UseHP()

    {

        UseHP_s();

    }

     

    //用于快捷键

    public void UseHP_s()

    {

        if (HPNum > 0)

        {

            _hero.DrinkPotion();

            HPNum--;

            Health += HPRecoverNum;

            if (Health > MaxHealth)

            {

                Health = MaxHealth;

            }

     

            _hPSlider.value = (float) Health / MaxHealth;

            _hPNumLabel.text = HPNum.ToString();

        }

    }

    然后将这个脚本绑定到任何一个游戏对象中,这里我绑定的是camera,然后将camera拖拽到上面的button script中即可。

     

    四、背包制作

    背包是RPG游戏中不可或缺的一部分,制作背包的过程其实也是使用Sprite的过程,就我这里的背包来说,包含以下几个部分:

    背景、关闭按钮、物品格子、物品图标

    所以首先创建一个sprite并将背包背景图片绑定在上面,然后创建若干子sprite作为格子,并将格子图片绑定在上面,同理还有关闭按钮。最后如果格子里有物品还需要将物品作为一个sprite并且赋给格子的自物体。结构如下:

    图片.png

    然后通过创建一个背包按钮来控制背包的显示和关闭即可。背包中的物品图标应当事先做做成预制体,当游戏逻辑中剪刀物品放入背包后则在格子相应的sprite下面添加一个该预制体。

    向背包中添加物品的方法如下:

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    22

    23

    24

    25

    26

    27

    28

    29

    30

    31

    32

    33

    34

    35

    36

    37

    38

    39

    40

    41

    42

    43

    44

    45

    private bool AddItemToBag(string name)

    {

        //血药和体力值不往背包放

        if (name.Equals(GoodsManager.HP_POTIONS_NAME))

        {

            HeroStatus.AddHPMedicine();

            return true;

        }

     

        if (name.Equals(GoodsManager.EP_POTIONS_NAME))

        {

            HeroStatus.AddEPMedicine();

            return true;

        }

     

        if (goodsNum >= cells.Length)

        {

            return false//背包已满

        }

     

        if (GoodsManager.Name2Sprite.ContainsKey(name))

        {

            //之前这些是放在场景中置为不可见的,需要复制一份出来

            _tmpGoods = Instantiate(GoodsManager.Name2Sprite[name]);

            _tmpGoods.SetActive(true);

            _tmpGoods.name = name;

            cells[goodsNum].AddChild(_tmpGoods);

            Destroy(_tmpGoods);

            goodsNum++;

            if (goods.ContainsKey(name))

            {

                _tmpNum = goods[name] + 1;

                goods.Remove(name);

            }

            else

            {

                _tmpNum = 1;

            }

     

            goods.Add(name, _tmpNum);

        }

     

     

        return true;

    }

    这里因为一些原因我没有将物品图标sprite作为预制体而是直接放在场景中置为不可见,当需要添加的时候复制一份并置为可见即可。而寻找对应

     

    四、背包物品悬浮显示说明以及拖拽丢弃

    背包中的物品需要在鼠标悬浮的时候显示物品说明,以及当背包满了的时候可以拖拽物品丢到地面。实现起来也比较简单,首先要给物品sprite添加一个UIEventListener组件,添加方法就直接点击Inspector中的Add Compenet即可。

    图片.png

    这个组件可以通过委托的方式实现各种事件。添加组件之后给物品绑定一个c#脚本,脚本中指定悬浮、拖拽等方法。

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    22

    23

    24

    25

    26

    27

    28

    29

    30

    31

    32

    33

    34

    35

    36

    37

    38

    39

    40

    41

    42

    43

    44

    45

    46

    47

    48

    49

    50

    51

    52

    53

    54

    55

    56

    57

    58

    59

    60

    61

    62

    63

    64

    65

    66

    67

    68

    69

    70

    71

    72

    73

    74

    75

    76

    77

    78

    79

    80

    81

    82

    83

    84

    85

    86

    87

    88

    89

    90

    91

    92

    93

    94

    95

    96

    97

    98

    99

    100

    101

    102

    103

    104

    105

    106

    107

    108

    109

    110

    111

    112

    public class GoodsUsage : MonoBehaviour

    {

        private UIEventListener _listener;

     

        public Texture2D UsageBackground;

     

        private string _desc;

     

        private Vector2 _size;

     

        private Vector2 _mousePosition;

     

        private bool _shouldDraw;

     

        private Hero _hero;

     

        //拖拽时记录物品原来的位置

        private Vector2 _originPos;

     

        // Use this for initialization

        void Start()

        {

            _listener = UIEventListener.Get(gameObject);

            _listener.onHover += OnHoverGoods;

            _listener.onDrag += OnDrag;

            _listener.onDragEnd += OnDragEnd;

            _listener.onDragStart += OnDragStart;

            _desc = GoodsManager.Name2Desc[gameObject.name];

            _hero = GameObject.FindGameObjectWithTag("hero").GetComponent<Hero>();

        }

     

        // Update is called once per frame

        void Update()

        {

        }

     

        //悬浮显示物品用途

        private void OnHoverGoods(GameObject obj, bool isOver)

        {

            if (isOver) //进入悬浮

            {

                StartCoroutine(ShowUsageWait());

                _shouldDraw = true;

            }

            else //退出悬浮

            {

                _shouldDraw = false;

            }

        }

     

        //拖拽

        private void OnDragStart(GameObject obj)

        {

            if (!obj.transform.parent.gameObject.tag.Equals("cell"))

            {

                return;

            }

     

            _originPos = transform.localPosition;

        }

     

        private void OnDrag(GameObject obj, Vector2 delta)

        {

            if (!obj.transform.parent.gameObject.tag.Equals("cell"))

            {

                return;

            }

     

            _shouldDraw = false;

            transform.localPosition = new Vector3(transform.localPosition.x + delta.x,

                transform.localPosition.y + delta.y, transform.localPosition.z);

        }

     

        private void OnDragEnd(GameObject obj)

        {

            if (!obj.transform.parent.gameObject.tag.Equals("cell"))

            {

                return;

            }

     

            //拖拽到地面

            if (Input.mousePosition.x < Screen.width - 430 || Input.mousePosition.y < Screen.height - 500)

            {

                Destroy(obj);

     

                _hero.ThrowGoods(gameObject.name, obj.transform.parent.gameObject);

            }

            else //回到格子

            {

                transform.localPosition = new Vector3(_originPos.x, _originPos.y, transform.localPosition.z);

            }

        }

     

        IEnumerator ShowUsageWait()

        {

            yield return new WaitForSeconds(1f);

        }

     

        private void OnGUI()

        {

            if (_shouldDraw)

            {

                _size = GUI.skin.label.CalcSize(new GUIContent(_desc));

                _mousePosition = Input.mousePosition;

                GUI.DrawTexture(new Rect(_mousePosition.x - _size.x - 10, Screen.height - _mousePosition.y,

                    _size.x + 10, _size.y + 10), UsageBackground);

                GUI.color = Color.white;

                GUI.Label(new Rect(_mousePosition.x - 5 - _size.x, Screen.height - _mousePosition.y + 5,

                    _size.x, _size.y), _desc);

            }

        }

    }

    这里,对于悬浮显示物品使用说明是通过OnGUI方法绘制的,在悬浮事件中设置一个是否绘制GUI的标识,然后在OnGUI方法中判断是否需要绘制说明,并且还需呀实现说明位置跟随鼠标移动,这里通过Input.mousePosition获得鼠标的位置信息。

    对于拖拽事件,实际上有三个委托:OnDragStart, OnDrag, 和OnDragEnd。分别对应点击开始拖拽事件、拖拽中事件、和鼠标释放结束拖拽事件,分别需要实现:记录图片初始位置(以便为拖拽出去的时候复位)、让图标跟随鼠标移动实现拖拽效果、和判断是否将物品拖拽出去了的功能。

    当然拖拽丢弃物品之后还需要在地图上生成一个3d物品,这个就不属于GUI应该做的逻辑了。

     

    鼠标悬浮显示说明:

    1.gif

     

    拖拽丢弃:

    1.gif

    展开全文
  • 开始界面 1、创建场景 添加button 2、LodeGame.cs using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.SceneManagement; public class LoadGame : MonoBehaviour...

    开始界面

    1、创建场景
    添加button
    在这里插入图片描述
    2、LodeGame.cs

    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    using UnityEngine.SceneManagement;
    
    public class LoadGame : MonoBehaviour {
    
        public void LoadTheGame()
        {
            SceneManager.LoadScene(1);
        }
    
        public void ExitGame()
        {
            Application.Quit();
        }
    }
    
    

    3、新建一个空对象为GameManager,游戏的总管理
    在这里插入图片描述
    拖到这里

    4、添加到button中
    在这里插入图片描述
    5、在File-Building Settings中加入两个场景
    在这里插入图片描述

    展开全文
  • Unity3D_最简单的开始界面_结束界面开始界面结束界面 开始界面 1、创建一个新的场景 添加button 2、C#脚本 LoadingGame.cs using System.Collections; using System.Collections.Generic; using UnityEngine; ...

    Unity3D_最简单的开始界面_结束界面

    开始界面

    1、创建一个新的场景
    添加button
    在这里插入图片描述
    2、C#脚本
    LoadingGame.cs

    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    
    public class LoadingGame : MonoBehaviour
    {
        public void LoadGame()
        {
            Application.LoadLevel("mianScene");
        }
    }
    

    3、建一个空对象
    将LoadingGame.cs拖入
    在这里插入图片描述
    在这里插入图片描述
    4、添加到button中
    在这里插入图片描述
    5、在Building Settings中加入两个场景

    在这里插入图片描述

    然后就可以尝试运行啦~

    结束界面

    同理——结束界面
    endGame.cs

    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    
    public class endGame : MonoBehaviour
    {
        public void EndGame()
        {
            UnityEditor.EditorApplication.isPlaying = false;
            Application.Quit();
        }
    }
    

    调用

    Application.LoadLevel("endGame");
    
    展开全文
  • //////////////环境 unity 4.6.1////// 先上效果图 是不是很可爱,萌萌哒;;; 话不多说,首先创建一个场景,,, 图片中的天空场景加了天空盒,,,说一下怎么添加天空盒吧,我不喜欢给主摄像

    ////////////////2015/07/07////////////

    ///////////////by xbw///////////////////

    //////////////环境 unity 4.6.1//////


    先上效果图

    是不是很可爱,萌萌哒;;;

    话不多说,首先创建一个场景,,,

    图片中的天空场景加了天空盒,,,说一下怎么添加天空盒吧,我不喜欢给主摄像机添加天空盒,不过这种方法也说一下,点击主摄像机,在inspector属性栏中添加成分,skybox,然后找到天空盒的素材,将他赋给天空盒就好了,

    不过,这种方式不能预览到,只能在运行时才能看到,是不是很不爽啊,,

    那就看另一种方法吧,,在edit中找到render setting 打开,在inspector中找到skybox material,将天空和素材托给他就好了,立马就会显示在场景中了;是不是很好玩啊;


    我们继续;;;

    首先,找到菜单栏中的GameObject--Create Empty,创建一个空物体,我们把它命名为Menu2;

    下面不废话了,直接上代码了;自己调整属性就好了,用的Csharp脚本

    using UnityEngine;
    using System.Collections;
    [RequireComponent(typeof(AudioSource))]
    public class MainMenuGUI : MonoBehaviour {
    
        public AudioClip beep;
        public GUISkin menuSkin;
        public Rect menuArea;
        public Rect playButton;
        public Rect instructionsButton;
        public Rect quitButton;
        public Rect instructions;
        Rect menuAreaNormalized;
        string menuPage = "main";
    	// Use this for initialization
    	void Start () {
    
            menuAreaNormalized =
                new Rect(menuArea.x * Screen.width - (menuArea.width * 0.5f), menuArea.y * Screen.height - (menuArea.height * 0.5f), menuArea.width, menuArea.height);
    	}
        void OnGUI()
        {
            GUI.skin = menuSkin;
            GUI.BeginGroup(menuAreaNormalized);
            if (menuPage == "main")
            {
                if (GUI.Button(new Rect(playButton), "play"))
                {
                    StartCoroutine("ButtonAction", "second");
                    //Application.LoadLevel("second");
                }
                if (GUI.Button(new Rect(instructionsButton), "Instructions"))
                {
                    audio.PlayOneShot(beep);
                    menuPage = "instructions";
    
                }
                if (GUI.Button(new Rect(quitButton), "Quit"))
                {
                    StartCoroutine("ButtonAction", "quit");
                }
            }
            else if(menuPage=="instructions")
            {
                GUI.Label(new Rect(instructions), "You awake on a mysterious island...Find a way to signal for help or face certain doom!");
                if(GUI.Button(new Rect(quitButton),"Back"))
                {
                    audio.PlayOneShot(beep);
                    menuPage = "main";
                }
            }
            GUI.EndGroup();
        }
        IEnumerator ButtonAction(string levelName)
        {
            audio.PlayOneShot(beep);
            yield return new WaitForSeconds(0.35f);
            
            if(levelName!="quit")
            {
                Application.LoadLevel(levelName);
            }
            else
            {
                Application.Quit();
                Debug.Log("Have Quit");
            }
        }
    	// Update is called once per frame
    	void Update () {
    	
    	}
    }
    



    将此代码挂载给Menu2这个空物体;;;;

    按着这些属性调整,,,

    其中 代码中的Beep是声音文件,就是点一下按钮会发出相应的声音,,,

    Menu Skin这个是菜单属性,GUI菜单皮肤,如果不加他,菜单是unity自带的初始状态,比较丑陋,不用我说,,,

    使用了Menu Skin后,就会像本文最开始的那张图片的按钮,形状跟颜色都有了很大的变化;;;

    下面介绍一下详细过程;;;

    在工程面板中创建一个GUI skin 就是GUI皮肤,起到美化的作用;;;重命名为Main Menu


    我修改了一下字体,这个只需要把字体资源拖进去就好了;

    还修改了Button中的一些,详细说一下;

    这个Normal就是不操作的按钮样子,这个背景贴图把图片资源拖动过去就好了,,至于这个Text Color就是无操作的颜色;

    这个Hover就是鼠标悬停在按钮时的显示,这个贴图和颜色都有相应的变化,

    这个Active就是鼠标点击下去的反应的响应变化,

    还修改了Font Size 字体的大小;;;


    这个是instructions按钮点击后会显示一个文字说明,对文字颜色的修改;;;

    上个效果图

    是不是很可爱呢,跟着操作一下吧,希望大家互相学习交流,午夜十二点写的呢,

    希望大家多留言,我会及时给予回复。

    至于素材资源,我会给需要的同学发到邮箱去;;;

    不早了,我要稍微消遣一下喽。。。。。。晚安!!

    展开全文
  • 下面里面4.6之后Unity3D自带的UGUI,实现一个公告栏和开始界面,以此说明Unity3D中是怎么布置游戏UI的。如下图所示,开始游戏之前,我们会给用户公告比较长,但用户可以通过滑动滑块看完。 具体制作步骤如下: ...
  • 这个工具呢,博主在Unity3D游戏开发之反编译AssetBundle提取游戏资源这篇文章中其实已经提到过了,不过因为有些朋友对如何使用这个工具依然存在问题,所以博主决定特地写一篇文章来讲解如何使用disunity来提取Unity...
  • NGUI写的一个小游戏的设置界面,纯UI界面,有声音等控制界面
  • 本文介绍了Unity3D界面游戏对象基本操作。
  • 在《【Unity3D】公告栏与开始界面的布置》(点击打开链接)我曾经简单地提到UGUI是怎么布置与使用的,但这根本不完整,就像单身狗缺个另一半永远只能被喂狗粮似的,组件也因为事件的存在才能够精彩。因此,UGUI的...
  • 首先是因为专业,Unity3D非常强大,用它创建一个类似MiniGore这样的3D平面射击游戏简直轻而易举,而就连使命召唤这样的大型3d游戏,如果素材得当也不在话下。二是因为易用,他的操作非常容易,而使用的脚本语言又是...
  • Unity 3D本来是由德国的一些...Unity 3D游戏开发学习路线(方法篇)分享给大家。 怎么学Unity 3D游戏开发?要了解U3D最重要的五大界面: 第一:场景(Sence),构建游戏的地方; 第二:层级(Hierarchy),场景中的...
  • 本文是51CTO上的关于Unity3D移动开发游戏的知识点汇总。内容包括:(1)Unity3D开发基础;(2)Unity3D for iOS开发;(3)Unity3D for Android开发;
  • 大家晚上好,我是秦元培,欢迎大家关注我的博客,我的博客地址是blog.csdn.net/...所以,今天的博客的主题就是《Unity3D游戏开发之跑酷游戏项目讲解》。从博主自身来考虑这件事情,当你选择做自己热爱的事情的时
  • Unity 3D游戏开发》通过实例详细介绍了如何使用Unity进行游戏开发,书中先简要介绍了Unity环境搭建、编辑器和GUI游戏界面相关的知识,接着介绍了如何使用C#和JavaScript构建游戏脚本,添加树、草、石头等模型以及...
  • 今天要和大家分享的是基于Unity3D开发2D游戏,博主一直钟爱于国产武侠RPG,这个我在开始Unity3D游戏开发系列文章的时候就已经说过了,所以我们今天要做的就是利用Unity3D来实现在2D游戏中人物的走动控制。...
  • Unity3D游戏资源的提取

    2014-09-16 22:37:07
    前言 ...国内一些比较小的Unity3D游戏基本上资源文件都打包在了apk的assets文件夹中,如下图中的《爸爸去哪儿2》资源结构。 我们知道,国外的游戏一般体验较高 画质一流,所以资源文件会更大
  • Unity3D游戏优化方案

    2017-04-06 06:23:31
    作为一个入行不足三年的攻城狮来讲,讲引擎中的优化,经验确实不足,unity3D引擎作为一款侧重移动端游戏开发引擎来讲,优化游戏是确实有必要的,毕竟他要适配所有机型的前提下又要保证游戏画面的清晰度,特效的绚丽...
  • 前言: 本学习笔记仅供参考,有问题可以留言! 至于Unity游戏引擎的安装破解之类的...高级界面由系统提供,比低级界面运行效率高(高级界面为系统实现,低级界面为自己手动实现),高级界面有很多种,可以应用于各...
  • 这是一个比较综合的项目,希望对大家学习Unity3D有所帮助,我会在文章最后给出项目代码。作为一个游戏而言,游戏策划十分重要,所以在开始今天的文章之前,我们先来了解下这个项目的策划。我们的玩家是一个飞机,
1 2 3 4 5 ... 20
收藏数 13,651
精华内容 5,460
关键字:

unity3d游戏开始界面