我试图制作一款平台游戏,但是当我创建秋季动画时,它在以下位置显示了此错误CS1026:if(Player, whatIsGround == 0){
这是代码:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class CharacterAnim : MonoBehaviour {
private Animator anim;
public LayerMask whatIsGround;
public float Player;
void Start(){
anim = GetComponent<Animator>();
}
void Update(){
if(Player, whatIsGround == 0){
anim.SetBool("Test", true);
} else {
anim.SetBool("Test", false);
}
if(Input.GetKey(KeyCode.RightArrow) || Input.GetKey(KeyCode.LeftArrow)){
anim.SetBool("Left", true);
} else {
anim.SetBool("Left", false);
}
if(Input.GetKey(KeyCode.LeftArrow) || Input.GetKey(KeyCode.RightArrow)){
anim.SetBool("Right", true);
} else {
anim.SetBool("Right", false);
}
if(Input.GetKeyDown(KeyCode.UpArrow)){
anim.SetTrigger("Jump");
}
}
}
我该如何解决?
答案 0 :(得分:0)
根据Microsoft文档(link):
编译器错误CS1026
)预期
发现不完整的陈述。
您在这里有2个错误。首先,您不能像这样将float转换为bool,然后在if结构的2条语句之间不能有','符号。
我建议将“,”替换为“ &&”或“ ||” (C# operators)并使用Player变量制作布尔表达式,如下所示:
if(Player > 0 && whatIsGround == 0)