(3)unity入门,登陆页面NGUI,下

如果你运行了上篇文章的代码,你会发现界面很粗糙,操作起来也很费事,所以,这一节介绍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来实现跟随。 

 


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值