如果你运行了上篇文章的代码,你会发现界面很粗糙,操作起来也很费事,所以,这一节介绍NGUI的使用
下载链接:http://download.csdn.net/detail/mybbs2200/8908979
下载后关闭unity,然后放置到安装目录下的 如图的目录当中
放好后重新打开unity,然后右键点击assets->import package->NGUI2.3.4 导入
导入成功后会在unity的软件菜单中出现NGUI的选项。
...开始使用: 1.建立一个新场景,删除主摄像机,点击上图的NGUI,create a new UI出现下面的界面,创建一个Panel
然后选中Panel的情况下,点击NGUI->Create new widget,如图,在出现的窗口中添加对应的资源,最后点击7,成功显示到视图中
类似于添加上图中的sprite(精灵),模仿上篇添加输入条和按钮,布局如下。 具体参数自己改改,属性一栏很全的
暂时没有导入中文字体,所以只能英文输入。到此NGUI的方便性就体现了出来,灵活方便了点。
布局完界面如下:
其余NGUI内容:
Atlas maker 制作一个图集,用于ImageButton的制作,例如鼠标移动其上时大图片,点击后变另一种图片。这些细节需要美工制作
使用中文字体:选中一个label后,右侧属性栏出现
点击1处选项,选择unity,此时的字体已经切换为unity的动态字体,而不再是NGUI的静态字体,font选择arial。 然后在2处输入要修改的内容,就可以显示中文。
要实现登陆,那么就要有客户端和服务端。这里用到了网络知识,详细见这篇译文,翻译国外教程文章
http://www.unitymanual.com/thread-41436-1-1.html
当你创建了服务器后,登陆才有意义。给主摄像机添加脚本 NetWorkScript.cs
using UnityEngine;
using System.Collections;
using System.Net.Sockets;
public class NetWorkScript {//取消对MonoBehaviour的继承
private static NetWorkScript instance;//全局单例对象
private static Socket socket;
private static string ip = "127.0.0.1";
private static int port = 8899;
public static NetWorkScript getInstance()
{
if (instance == null)
instance = new NetWorkScript();
return instance;
}
public static void init()
{
try
{
socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
socket.Connect(ip, port);
Debug.Log("服务器连接成功!");
}
catch
{
Debug.Log("服务器连接失败!");
}
}
}
给登陆按钮添加脚本connServer.cs
附件:NGUI可以监听的一些方法
2.当需要访问UI下的子目录,且目录有多层时使用/
3.需设计拖动UI时,可以继承UIDragDropItem 类,增加collider。然后属性内点选Clone On Drag就可以在拖走后原地保留个克隆体。拖拽后在其他UI不显示时,可以重写
<pre name="code" class="csharp">protected override void OnDragDropStart(){//抓起
base.OnDragDropStart();
transform.parent = transform.root;
this.GetComponent<UISprite>().depth = 40;//设置深度
}
protected override void OnDragDropRelease(GameObject surface){//释放
base.OnDragDropRelease();
if(surface != null && surface.tag == Tags.yourTag){
surface.GetComponent<UI***>().Set**(id);
}
}
4.怪物的掉血text或者是misstext的显示,使用NGUI的HUDtext实现,在怪物的头上加一个empty ,然后代码里使用UITools.Add去生成HUDtext。HUDtext可使用UIFollowtarget来实现跟随。