physicsShapeGroup | 要添加到此形状组的 PhysicsShapeGroup2D。(只读) |
将指定 physicsShapeGroup
中所有 PhysicsShape2D 及其几何体的副本添加到此形状组。指定的 physicsShapeGroup
不会被修改。
using UnityEngine; using UnityEngine.Assertions;
public class Example : MonoBehaviour { private const int ShapeCount = 10;
void Start() { // Create a shape group and add a Circle to it. var shapeGroup1 = new PhysicsShapeGroup2D(); shapeGroup1.AddCircle ( center: Vector2.zero, radius: 1f );
// Validate the contents. Assert.AreEqual(1, shapeGroup1.shapeCount); Assert.AreEqual(1, shapeGroup1.vertexCount); Assert.AreEqual(PhysicsShapeType2D.Circle, shapeGroup1.GetShape(0).shapeType);
// Create another shape group and add a Box to it. var shapeGroup2 = new PhysicsShapeGroup2D(); shapeGroup2.AddBox ( center: new Vector2(3f, 2f), size: new Vector2(1f, 1f) );
// Validate the contents. Assert.AreEqual(1, shapeGroup2.shapeCount); Assert.AreEqual(4, shapeGroup2.vertexCount); Assert.AreEqual(PhysicsShapeType2D.Polygon, shapeGroup2.GetShape(0).shapeType);
// Add the second shape group to the first shape group. shapeGroup1.Add(shapeGroup2);
// Validate the contents. Assert.AreEqual(1 + 1, shapeGroup1.shapeCount); Assert.AreEqual(1 + 4, shapeGroup1.vertexCount); Assert.AreEqual(PhysicsShapeType2D.Circle, shapeGroup1.GetShape(0).shapeType); Assert.AreEqual(PhysicsShapeType2D.Polygon, shapeGroup1.GetShape(1).shapeType); } }