Chr*_*ark -2 c# unity-game-engine
我今天写了一些代码.我无法弄清楚如何减少这段代码的长度,虽然看似重复,但每个部分都不同.
try {
totalVerts.Add(verts[i]);
if (verts[i].x > maxXvert)
{
maxXvert = verts[i].x;
}
if (verts[i].x < minXvert)
{
minXvert = verts[i].x;
}
if (verts[i].y > maxYvert)
{
maxYvert = verts[i].y;
}
if (verts[i].y < minYvert)
{
minYvert = verts[i].y;
}
if (verts[i].z > maxZvert)
{
maxZvert = verts[i].z;
}
if (verts[i].z < minZvert)
{
minZvert = verts[i].z;
}
}
Run Code Online (Sandbox Code Playgroud)
在这段代码中,我将Vector3位置顶点(x,y,z)添加到totalVerts数组中.我也测试每个x,y,z位置是否是所有顶点的最大值或最小值,如果是,我然后将变量maxXvert,maxYvert ...等设置为更高或更低的值.
如果有人能想出减少的方法,那就太好了.谢谢.
您可以使用Math.Min和Math.Max.
minXvert = Math.Min(verts[i].x, minXvert);
maxXvert = Math.Max(verts[i].x, maxXvert);
Run Code Online (Sandbox Code Playgroud)
这将使您的代码更简洁和可读,但不会更快.
为了使它更快,您可以将x,y,z值存储在局部变量中,因此只需要查找一次而不是2-4次.但是,无论如何,编译器可能正在为你做这件事. int x = verts[i].x;等等
| 归档时间: |
|
| 查看次数: |
103 次 |
| 最近记录: |