C# &引用;“需要标识符”;错误

C# &引用;“需要标识符”;错误,c#,unity3d,compiler-errors,unityscript,identifier,C#,Unity3d,Compiler Errors,Unityscript,Identifier,有什么帮助吗?您对C#方法使用了不正确的语法。Unity支持用户代码使用多种语言。也许您从另一种语言复制了一个示例 function OnTriggerEnter(other : Collider) { 应该更接近 function OnTriggerEnter(other : Collider){ if(other.tag == "angelic_sword_02"){ totalhealth -= 50; } } 我终于明白了。我不再有编译器错误了 pub

有什么帮助吗?

您对C#方法使用了不正确的语法。Unity支持用户代码使用多种语言。也许您从另一种语言复制了一个示例

function OnTriggerEnter(other : Collider) {
应该更接近

function OnTriggerEnter(other : Collider){
    if(other.tag == "angelic_sword_02"){
        totalhealth -= 50;
    }
}

我终于明白了。我不再有编译器错误了

public void OnTriggerEnter(Collider other){
    if(other.tag == "angelic_sword_02"){
        totalhealth -= 50;
    }
}
使用UnityEngine;
使用系统集合;
公共阶级之剑:单一行为{
公共卫生=100;
公共空对撞机(对撞机其他){
if(other.tag==“天使之剑”{
总健康指数-=50;
}
}
无效更新(){

如果(totalhealth你在用什么语言?这不是C#。@Jeroenvanevel:部分是C#。Unity支持多种扩展语言。它看起来像是两个示例中的代码,使用两种语言混合在一起。@EricJ。我明白了,是C#的某个私生子。
var
允许定义字段吗?@Jeroenvanevel不。它是C#编译的Mono。不确定支持哪个版本的C#。谢谢!这帮了我的忙,我想我还不太擅长编写脚本,我还在学习C#和Javascript,所以我倾向于将两者混合。但现在我发现“var”有一个新错误。我忘了你在那里放了什么。我知道这不是“函数”因为那是Javascript…对吗?你把“void”改成了…对吗?我们都从某个地方开始。它看起来确实很像Javascript。只需将
var
更改为
int
public void OnTriggerEnter(Collider other){
    if(other.tag == "angelic_sword_02"){
        totalhealth -= 50;
    }
}
using UnityEngine;
using System.Collections;

public class Sword : MonoBehaviour {

public float totalhealth = 100;

public void OnTriggerEnter(Collider other){
    if(other.tag == "angelic_sword_02"){
        totalhealth -= 50;
    }
}

void Update(){
    if(totalhealth <= 0){
        Destroy(gameObject);
    }
}
}