相关文章推荐
谦和的猕猴桃  ·  katharine ...·  3 月前    · 
威武的葡萄酒  ·  JS常见加密 ...·  3 月前    · 
英俊的蟠桃  ·  JavaScript的 DOM ...·  1 年前    · 

C#字典Dictionary在unity中使用案例

C#字典在unity中使用案例

1、前言:

讲起C#Dictionary,许多人闻之色变,不了解,不清楚,即使知道,了解,也不一定会用,鉴于此,本人特地总结了一个使用字典的案例。

2、什么是字典。

必须包含名空间System.Collection.Generic

Dictionary里面的每一个元素都是一个键值对(由二个元素组成:键和值)

键必须是唯一的,而值不需要唯一的

键和值都可以是任何类型(比如:string, int, 自定义类型,等等)

通过一个键读取一个值的时间是接近O(1)

键值对之间的偏序可以不定义

3、下面举个例子。详细解释.

3.1目的:让每个红色小球都按照各自路径移动。

//移动物体。

privateTransform m_MoveGameObjectParent;

//物体的移动路径。

privateTransform m_MovePathParent;

//定义一个字典,用来存储移动物体和移动路径。

private Dictionary<Transform,List>wayDict;

void Start()

{

m_MoveGameObjectParent=GameObject.Find(“XXX”).transform;

m_MovePathParent=GameObject.Find(“XXX”).transform;

//向字典里面存储移动物体和响应的移动路径。

for(int i=0;i<m_MoveGameObjectParent.ChildCount;i++)

{

//存储移动路径。

ListwayList=new List();

for(int j=0;j<m_MovePathParent.GetChild(i).Count;j++)

{

wayList.Add(m_MovePathParent.GetChild(i).GetChid(j).position);

}

wayDict.Add(m_MoveGameObjectParent.GetChid(i),wayList);

}

Move();

}

private void Move()

{

//遍历字典取值

foreach(Transform key in wayDict)

{

List<Vector3>Pos=wayDict[key];

Switch( key.name )

{

case “Sphere”:

for(int i=0;i<Pos.count;i++)

{

//移动方法。

}

break;

default:

break;

}

}

}

编辑于 2021-08-11 21:21