Я создаю куб в скрипте (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