Unity3d (统一)2D游戏碰撞脚本与熔岩-3错误

Unity3d (统一)2D游戏碰撞脚本与熔岩-3错误,unity3d,collision-detection,Unity3d,Collision Detection,我正在为Unity中的“熔岩”块创建一个代码,玩家一旦触摸它,玩家就会重生。但是我收到了3个错误,我不知道问题出在哪里。 错误: Assets\KillScript.cs(14,45):错误CS1002:;期望 Assets\KillScript.cs(13,31):应为错误CS1513:} Assets\KillScript.cs(13,31):错误CS1002:;预期 这是代码(附在玩家精灵上的脚本) 对于您的if声明,我建议使用bool检查您的玩家是否死亡。第14行的Vector3

我正在为Unity中的“熔岩”块创建一个代码,玩家一旦触摸它,玩家就会重生。但是我收到了3个错误,我不知道问题出在哪里。 错误:

  • Assets\KillScript.cs(14,45):错误CS1002:;期望

  • Assets\KillScript.cs(13,31):应为错误CS1513:}

  • Assets\KillScript.cs(13,31):错误CS1002:;预期 这是代码(附在玩家精灵上的脚本)


对于您的if声明,我建议使用bool检查您的玩家是否死亡。第14行的Vector3和current.transformation.position之间没有等号,Vector3也没有大写。 另一个问题是小数后面没有f

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class KillScript : MonoBehaviour
{
    public bool isDead;

    void OnCollisionEnter2D(Collision2D coll)
    {
        if (coll.gameObject.tag == "Lava")
        {
            Destroy(gameObject);
            isDead = true;
        }
        if (isDead = true)
        {
            current.transformation.position = new Vector3(-0.37f, -0.13f, 0);
            isDead = false;
        }
    }
}
我也不确定当前的.transformation.position是什么。您可以使用预置创建克隆,然后将该位置设置为矢量3。

让我们看看

  • 如果我数对了。。。什么是当前。转换??这可能是其中的一部分。但是你应该在问题中指出错误在哪一行,所以我们不必计算所有的错误。哦,让我们来看看这行代码。当前。转换。。那是什么?你是说变换吗?变换位置?然后你实际上需要使用等号,而不仅仅是…形成新的向量3(…最后,向量3应该大写
  • 再说一次,什么是(游戏对象)销毁???代码是无法编译的。还有一个额外的括号。你到底想做什么
  • 再说一次,也许不要总是从表面上看错误,这可能只是因为它不明白你想做什么。但是,我想我会尝试提供一些关于什么代码可以工作的建议
  • 首先,看起来(游戏对象)销毁是检查游戏对象是否已销毁。看,问题是如果游戏对象被销毁,那么这个脚本也会被销毁。。。?
    我很确定current.transformation.position就是transform.position?你还需要等式,向量3应该大写。

    这3个错误是什么?请将它们复制/粘贴到问题中。我认为有两件事显然是错的。仔细阅读错误和代码。这些错误会告诉你一行和一列,这样你就知道该把焦点放在哪里了。发布的代码看起来很奇怪。你在if语句中施放,你在尝试赋值时没有等号等等。代码中有不匹配的括号。你的if(gameObject)Destroy(销毁)代码错误,请修复它。当前变量是什么,是否在kill脚本中定义?你能分享你所有的killscript代码吗?
    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    
    public class KillScript : MonoBehaviour
    {
        public bool isDead;
    
        void OnCollisionEnter2D(Collision2D coll)
        {
            if (coll.gameObject.tag == "Lava")
            {
                Destroy(gameObject);
                isDead = true;
            }
            if (isDead = true)
            {
                current.transformation.position = new Vector3(-0.37f, -0.13f, 0);
                isDead = false;
            }
        }
    }