版本:Unity 6 (6000.0)
语言English
  • C#

PhysicsShapeGroup2D.SetShapeVertex

建议更改

成功!

感谢您帮助我们改进 Unity 文档的质量。尽管我们无法接受所有提交,但我们确实会阅读用户建议的每一个更改,并在适用时进行更新。

关闭

提交失败

由于某些原因,无法提交您的建议更改。请在几分钟后 <a>重试</a>。感谢您花时间帮助我们改进 Unity 文档的质量。

关闭

取消

声明

public void SetShapeVertex(int shapeIndex, int vertexIndex, Vector2 vertex);

参数

shapeIndex 存储在 PhysicsShapeGroup2D 中的形状的索引。形状索引为 0 基,形状组中的形状数量由 shapeCount 指定。
vertexIndex 存储在 PhysicsShapeGroup2D 中的形状顶点的索引。顶点索引为 0 基,形状中的顶点数量由 PhysicsShape2D.vertexCount 指定。
vertex 将形状顶点设置为的值。

说明

设置形状的单个顶点。

注意:访问多个顶点时,执行以下操作之一更有效

其他资源: GetShapeVertex

using UnityEngine;
using UnityEngine.Assertions;

public class Example : MonoBehaviour { void Start() { // Create a shape group. var shapeGroup = new PhysicsShapeGroup2D();

// Add a Capsule to the shape group. var shapeIndex = shapeGroup.AddCapsule ( vertex0: Vector2.down, vertex1: Vector2.up, radius: 0.5f );

// Fetch the shape vertices from the shape group. var vertex0 = shapeGroup.GetShapeVertex(shapeIndex, vertexIndex: 0); var vertex1 = shapeGroup.GetShapeVertex(shapeIndex, vertexIndex: 1);

// Validate the Capsule vertices. Assert.AreEqual(Vector2.down, vertex0); Assert.AreEqual(Vector2.up, vertex1);

// Set the shape vertices in the shape group. shapeGroup.SetShapeVertex(shapeIndex, vertexIndex: 0, vertex: Vector2.left); shapeGroup.SetShapeVertex(shapeIndex, vertexIndex: 1, vertex: Vector2.right);

// Fetch the shape vertices from the shape group. vertex0 = shapeGroup.GetShapeVertex(shapeIndex, vertexIndex: 0); vertex1 = shapeGroup.GetShapeVertex(shapeIndex, vertexIndex: 1);

// Validate the Capsule vertices. Assert.AreEqual(Vector2.left, vertex0); Assert.AreEqual(Vector2.right, vertex1); } }