以下为介绍
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Lesson12 : MonoBehaviour
{
// Start is called before the first frame update
void Start()
{
#region 知识点一 ScrollView来干啥
//滚动视图
//我们现在用于编程的VS代码窗口就是典型的滚动视图
//游戏中主要用于 背包、商店、排行榜等等功能
#endregion
#region 知识点二 制作ScrollView
//1.直接工具栏创建即可 NGUI——Create——ScrollView
//2.若需要ScrollBar 自行添加水平和竖直
//3.添加子对象 为子对象添加Drag Scroll View和碰撞器
#endregion
#region 知识点三 参数相关
#endregion
#region 知识点四 自动对齐脚本Grid 参数相关
#endregion
}
// Update is called once per frame
void Update()
{
}
}
作业:创建一个背包按钮,按下打开一个页面,其中内部包含一个滚动视图,并且需要动态的创建10个物品
回答1:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class BagPanel : MonoBehaviour
{
private static BagPanel instance;
public static BagPanel Instance => instance;
public UIScrollView sv;
public UIButton btnClose;
private void Awake()
{
instance = this;
}
// Start is called before the first frame update
void Start()
{
//点击关闭按钮 让自己隐藏
btnClose.onClick.Add(new EventDelegate(() => {
this.gameObject.SetActive(false);
}));
//动态创建10个道具图标
for (int i = 0; i < 60; i++)
{
GameObject obj = Instantiate(Resources.Load<GameObject>("Item"));
obj.transform.SetParent(sv.transform, false);
//如果通过代码 来自己设置位置 就在这里设置即可
obj.transform.localPosition = new Vector3(120 * (i % 5), 120 * (i / 5), 0);
}
//通过sv控制 滚动条更新
sv.UpdateScrollbars();
this.gameObject.SetActive(false);
}
}