您的位置:首页 > 移动开发 > Unity3D

unity3D创建英雄选择栏

2015-06-22 21:45 736 查看
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);//设置值
}
}

效果图如下

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: