unity3D创建英雄选择栏

1、创建一个Image,更改名称为FriendList,在FriendList下面创建一个空对象改名为List,创建一个Scrollbar,层级视图如下

2、在FriendList的Inspector面板中调节RectTransform,调节List的Inspector面板RectTransformt,如图。

3、FriendList添加组件Scroll Rect,勾选Horizontal选项,Horizontal Scrollbar选择Scrollbar,以及Mask组件

4、List添加Grid LayOut Group组件设置如图所示

5、给List添加一个FriendList 脚本

编辑脚本

using UnityEngine;
using System.Collections.Generic;
using UnityEngine.UI;
public class FriendList : MonoBehaviour
{
    //动态的生成好友列表
    public GameObject prefab;//图片预设体(sprite类型)
    RectTransform rfWith;//定义List的RectTransform组件
    float with;//定义变量
    GridLayoutGroup glg;//定义List的GridLayoutGroup组件
    void Start()
    {
        //获取组件
        rfWith = GetComponent<RectTransform>();
        glg = GetComponent<GridLayoutGroup>();

        //随机产生英雄图片个数
        int num = Random.Range(3, 11);       
        for (int i = 0; i < num; i++)
        {
            //实例化prefab
            GameObject go = Instantiate(prefab) as GameObject;
            go.transform.SetParent(transform);//将List设置为prefab的父类
        }
        with = num * glg.cellSize.x + (num - 1) * glg.spacing.x;//根据glg以及num动态生成rfWith的值
        rfWith.sizeDelta = new Vector2(with, glg.cellSize.x);//设置值
    }
}

效果图如下




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值