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

PhysicsShapeGroup2D.Add

建议更改

成功!

感谢您帮助我们提高 Unity 文档的质量。虽然我们无法接受所有提交,但我们确实阅读了用户提出的每个建议更改,并在适用的情况下进行更新。

关闭

提交失败

由于某些原因,您的建议更改无法提交。请<a>稍后再试</a>。感谢您抽出时间帮助我们提高 Unity 文档的质量。

关闭

取消

声明

public void Add(PhysicsShapeGroup2D physicsShapeGroup);

参数

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); } }