Unity插件之NGUI学习(7)—— ScrollView(Panel),nguiscrollview
发布日期:2019-02-06 编辑:admin

Unity插件之NGUI学习(7)—— ScrollView(Panel),nguiscrollview

今天介绍的ScrollView,参考的是NGUI(3.6.8)中的Example项目:Scroll View(Panel)。

先按照Unity插件之NGUI学习(2)创建一个UI Root,然后在UI Root下面创建一个Scroll View,选择菜单NGUI->Create->Scroll View

然后在Inspector窗口做一些参数设置



ListViewTest代码如下:

using UnityEngine;
using System.Collections;


public class ListViewTest : MonoBehaviour {


private GameObject scrollView;
private UIGrid grid;
private UIButton addBAAAAAelBtn;


// Use this for initialization
void Start () {
scrollView = GameObject.Find("Scroll View");
grid = scrollView.GetComponentInChildren <UIGrid>();
addBtn = GameObject.Find("AddButton").GetComponent<UIButton>();
delBtn = GameObject.Find("DelButton").GetComponent<UIButton>();
EventDelegate.Add(addBtn.onClick, AddItem);
EventDelegate.Add(delBtn.onClick, DelAllItems);
}

// Update is called once per frame
void Update () {

}


void AddItem() {
int count = grid.transform.childCount + 1;
//克隆预设
GameObject o = (GameObject)Instantiate(Resources.Load("Prefabs/ListItem"));
UILabel label = o.GetComponentInChildren<UILabel>();
//为每个预设设置一个独一无二的名称
label.text = "item" + count;
//将新预设放在Panel对象下面
o.transform.parent = grid.transform;
//下面这段代码很重要,是因为创建预设时 会自动修改旋转缩放的系数,
//我不知道为什么会自动修改,所以重新为它赋值
o.transform.localPosition = Vector3.zero;
o.transform.localScale = new Vector3(1, 1, 1);
//列表添加后用于刷新listView
grid.repositionNow = true;
}


void DelAllItems() {
foreach (Transform trans in grid.transform) {
Destroy(trans.gameObject);
}
grid.repositionNow = true;
}
}

把脚本绑定在UI Root后运行游戏,点击Add按钮,可以增加Item,点击Del按钮,会删除所有的Item。


Unity的NGUI列表弹出效果做不出来解答

你的subpanel是scrollview吗?
 
【急】(unity3d)NGUI的UI root下面的adjust by DPI到底是什??

官网论坛上的回答:
Adjust by DPI experimental option will scale your UI Root on top of its ordinary scaling. That is, you'd design your UI in Pixel Perfect mode and on iPad Retina you'd get the screen size that matches the non-retina resolution. It basically takes pixel density into consideration, AAAAAA your UI be based on screen DPI, not just screen resolution.
简单的说,就是不同的显示设备有不同的DPI,所谓DPI是用来衡量像素密度的,比如3.7寸的分辨率为1024*768的android设备就是
sqrt(1024^2 + 768^2) / 3.7
由此可见,相同分辨率下,屏幕越小,DPI越大。而相同屏幕大小下,分辨率越大,DPI越大。
NGUI的这个功能就是可以动态的匹配其它DPI的屏幕,而你只需要匹配开发机的DPI就可以了。NGUI会通过内部计算来匹配目标设备的DPI(比如拉伸/缩小控件)不过实际使用上问题还是很多的。
 

http://www.bkjia.com/Androidjc/893155.htmlwww.bkjia.comtruehttp://www.bkjia.com/Androidjc/893155.htmlTechArticleUnity插件之NGUI学习(7)—— ScrollView(Panel),nguiscrollview 今天介绍的ScrollView,参考的是NGUI(3.6.8)中的Example项目:Scroll View(Panel)。 先按照Uni...

本文源自: 揭秘环亚娱乐骗局

»下一篇:没有了
架构说
联系我们
Copyright © 2005-2016 http://www.wynnseo.com 揭秘环亚娱乐骗局_揭秘环亚娱乐黑钱_环亚娱乐安全_网易娱乐版权所有 揭秘环亚娱乐骗局_揭秘环亚娱乐黑钱_环亚娱乐安全_网易娱乐