我正在腳本(c#)中創建一個多維數據集。我想刪除BoxCollider,因爲我正在開發2D遊戲並通過BoxCollider2d進行交換。然後我想添加一個RigiBody2D並在我的世界中顯示立方體。問題是我總是得到錯誤:運行時添加/刪除組件
Can't add component 'BoxCollider2D' to Cube because it conflicts with the existing 'BoxCollider' derived component! UnityEngine.GameObject:AddComponent() CreateCube:OnCollisionEnter2D(Collision2D) (at Assets/Scripts/CreateCube.cs:15)
我得到這個錯誤,但代碼工作反正。但它只會一直行到Destroy(cube.collider);這就是它! BoxCollider被正確刪除,因爲當我看看創建的對象時,它已經消失了。我真的不知道爲什麼編譯器告訴我有一個現有的BoxCollider。
using UnityEngine;
using System.Collections;
public class CreateCube : MonoBehaviour
{
void OnCollisionEnter2D(Collision2D coll)
{
// Create Cube
GameObject cube = GameObject.CreatePrimitive(PrimitiveType.Cube);
// Destroy BoxCollider
Destroy(cube.collider);
// Add BoxCollider2D
cube.AddComponent<BoxCollider2D>();
// Add RigiBody2D
cube.AddComponent<Rigidbody2D>();
// Show Cube in World
cube.transform.position = new Vector3(0, 0.5f, 0);
}
}
有沒有人有想法?
你可能不應該創建一個立方體基本而是一個2D精靈與 – LearnCocos2D 2014-10-08 08:08:43