PhysicsShapeGroup2D.SetShapeVertex
Declaration
public void SetShapeVertex(int shapeIndex, int vertexIndex, Vector2 vertex);Параметры
| Параметр | Описание |
|---|---|
| shapeIndex | Индекс фигуры, хранящейся в PhysicsShapeGroup2D. Индекс фигуры основан на нуле с группой фигур, имеющей количество фигур, указанное shapeCount. |
| vertexIndex | Индекс вершины формы, хранящийся в PhysicsShapeGroup2D. Индекс вершины основан на нуле, при этом форма имеет количество вершин, указанное PhysicsShape2D.vertexCount. |
| вершина | Значение, которое должно быть установлено для вершины формы. |
Описание
Задает одну вершину фигуры.
NOTE: При доступе к нескольким вершинам более эффективно выполнять одно из следующих действий:
- Получить все вершины фигуры с помощью GetShapeVertices
- Получить все вершины группы фигур с помощью GetShapeData
- Создание PhysicsShapeGroup2D с явными фигурами и списками вершин с помощью группы фигур Constructor
Дополнительные ресурсы: ,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); } }