Unity玩家移动脚本触发C1002/CS1012报错 字符文本字符过多求助
错误原因
- C#语法规则明确:单引号
'仅用于包裹单个char类型字符,最多只能包含1个字符;Input.GetAxis()方法要求传入的参数为字符串类型,字符串必须使用双引号"包裹。 - 你代码中第15、16行的
'Horizontal'、'Vertical'使用单引号包裹了多个字符,不符合语法要求,因此触发CS1012报错。
修复方案
将Update方法中两行代码的单引号替换为双引号即可,修改后的完整代码如下:
using UnityEngine; public class PlayerMovement : MonoBehaviour { public float moveSpeed = 5f; public Rigidbody2D rb; Vector2 movement; // Update is called once per frame void Update() { movement.x=Input.GetAxis("Horizontal"); movement.y=Input.GetAxis("Vertical"); } void FixedUpdate() { rb.MovePosition(rb.position + movement.normalized*moveSpeed*Time.fixedDeltaTime); } }
修改后重新编译即可解决报错,移动功能可正常运行。
内容的提问来源于stack exchange,提问作者Seven X Twelve
相关产品推荐
相关产品推荐

