选择使用哪个功能
在检查器中选择功能很好,但是现在还起不到什么作用。每次更新,我们需要根据功能的值来决定调用什么函数。有多种方法可以实现这个,我们使用委托阵列。
首先为函数定义一个委托类型,有一个单精度浮点数作为输入和输出,这相当于函数方法。我们叫它FunctionDelegate。然后添加一个静态阵列,命名functionDelegates,用委托函数填写。在枚举中以相同的顺序将他们命名。
现在我们可以根据功能变量从阵列中选择想要的委托,通过把它计算成一个整数。把这个委托存储在临时变量里,并使用它来计算Y的值。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
private delegate float FunctionDelegate (float x);
private static FunctionDelegate[] functionDelegates = {
Linear,
Exponential,
Parabola,
Sine
};
void Update () {
if (currentResolution != resolution){
CreatePoints();
}
FunctionDelegate f = functionDelegates[(int) function ];
for (int i = 0; i < resolution; i++){
Vector3 p = points[i].position;
p.y = f(p.x);
points[i].position = p;
Color c = points[i].color;
c.g = p.y;
points[i].color = c;
}
particleSystem.SetParticles(points, points.Length);
}
|
建议使用电驴(eMule)下载分享的资源。
说明:本教程来源互联网或网友分享或出版商宣传分享,仅为学习研究或媒体推广,wanshiok.com不保证资料的完整性。
3/9 首页 上一页 1 2 3 4 5 6 下一页 尾页 |