意外的符号CS1525变量名

时间:2016-07-13 02:48:05

标签: c#

我已经修改了一些代码以满足我的需求。虽然变量“dest”应该是一个局部变量(我认为),那么为什么在为dest分配值时会出现错误,并出现“意外符号'dest'”错误,我该如何解决? (这是链接:http://noobtuts.com/unity/2d-pacman-game

using UnityEngine;
using System.Collections;

public class SepticSamMove : MonoBehaviour 
{
    public float speed = 0.4f;
    Vector2 dest = Vector2.zero;

    // Use this for initialization
    void Start () 
    {
        dest = transform.position; 
    }

    // Update is called once per frame
    void FixedUpdate () 
    {
        //move closer to Destination
        Vector2 p =Vector2.MoveTowards(transform.position,dest,speed);
        GetComponent<Rigidbody2D> ().MovePosition (p);

        //check input for movement
        if ((Vector2)transform.position == dest)
        {
            //up
            if(Input.GetKey(KeyCode.W) && valid(Vector2.up)
                dest = (Vector2)transform.position+Vector2.up;

            if(Input.GetKey(KeyCode.S) && vaild(-Vector2.up)
                dest = (Vector2)transform.position - Vector2.up;

            if(Input.GetKey(KeyCode.D) && valid(Vector2.right)
                dest = (Vector2)transform.position+Vector2.right;

            if(Input.GetKey(KeyCode.A) && valid(-Vector2.right)
                dest =(Vector2)transform.position-Vector2.right;
        }


        // Animation Parameters
        Vector2 dir = dest - (Vector2)transform.position;
        GetComponent<Animator>().SetFloat("DirX", dir.x);
        GetComponent<Animator>().SetFloat("DirY", dir.y);
    }

    bool vaild (Vector2 dir)
    {
        //cast Line from 'Next to Septic Sam' to SepticSam
        Vector2 pos= transform.position;
        RaycastHit2D hit = Physics2D.Linecast (pos + dir, pos);
        return (hit.collider == GetComponent<Collider2D> ());
    }
}

1 个答案:

答案 0 :(得分:1)

你错过了一个右括号:

if(Input.GetKey(KeyCode.W) && valid(Vector2.up)
    dest = (Vector2)transform.position+Vector2.up;

应该是

if(Input.GetKey(KeyCode.W) && valid(Vector2.up)) //added ')'
    dest = (Vector2)transform.position+Vector2.up;