C# 销毁对象时出错 公共类NewBehaviourScript:MonoBehavior { 私有字符串对象; 无效更新(){ if(Input.GetButtonUp(“跳转”)){ Debug.Log(“空间”); 刚体r=GameObject.Find(“触发器”).AddComponent(); r、 质量=3f; } } 无效碰撞中心(碰撞) { hitobject=myCollision.gameObject.tag; 如果(hitobject==“墙”) { 摧毁(目标); } } }
有什么问题吗C# 销毁对象时出错 公共类NewBehaviourScript:MonoBehavior { 私有字符串对象; 无效更新(){ if(Input.GetButtonUp(“跳转”)){ Debug.Log(“空间”); 刚体r=GameObject.Find(“触发器”).AddComponent(); r、 质量=3f; } } 无效碰撞中心(碰撞) { hitobject=myCollision.gameObject.tag; 如果(hitobject==“墙”) { 摧毁(目标); } } },c#,unity3d,C#,Unity3d,有什么问题吗 void OnCollisionEnter(Collision myCollision) { GameObject g = myCollision.gameObject; if(g.tag == "wall") Destroy(g); } 错误是: void OnCollisionEnter(Collision myCollision) { GameObject g = myCollision.gameObject;
void OnCollisionEnter(Collision myCollision)
{
GameObject g = myCollision.gameObject;
if(g.tag == "wall")
Destroy(g);
}
错误是:
void OnCollisionEnter(Collision myCollision)
{
GameObject g = myCollision.gameObject;
if(g.tag == "wall")
Destroy(g);
}
Assets/NewBehaviourScript.cs(20,25):错误CS1502:最佳重载
已找到“UnityEngine.Object.Destroy(UnityEngine.Object)”的方法匹配项
一些无效的参数
void OnCollisionEnter(Collision myCollision)
{
GameObject g = myCollision.gameObject;
if(g.tag == "wall")
Destroy(g);
}
Assets/NewBehaviourScript.cs(20,25):错误CS1503:参数#1'
无法将
string”表达式转换为类型“UnityEngine.Object”
void OnCollisionEnter(Collision myCollision)
{
GameObject g = myCollision.gameObject;
if(g.tag == "wall")
Destroy(g);
}
您正在尝试销毁标签而不是游戏对象
void OnCollisionEnter(Collision myCollision)
{
GameObject g = myCollision.gameObject;
if(g.tag == "wall")
Destroy(g);
}
您可以这样修复它:
public class NewBehaviourScript : MonoBehaviour
{
private string hitobject;
void Update () {
if (Input.GetButtonUp ("Jump")) {
Debug.Log("SPACE");
Rigidbody r = GameObject.Find("trigger").AddComponent<Rigidbody>();
r.mass = 3f;
}
}
void OnCollisionEnter(Collision myCollision)
{
hitobject = myCollision.gameObject.tag;
if (hitobject == "wall")
{
Destroy(hitobject);
}
}
}
void OnCollisionEnter(Collision myCollision)
{
GameObject g = myCollision.gameObject;
if(g.tag == "wall")
Destroy(g);
}
我们将
string
更改为gameobject
,这样我们就可以销毁不是字符串的gameobject,并使用标记它的一个属性(vars)来检查我们点击了什么void OnCollisionEnter(Collision myCollision)
{
GameObject g = myCollision.gameObject;
if(g.tag == "wall")
Destroy(g);
}
那不行,
私有字符串命中对象代码>,不能将游戏对象存储在字符串中。