Click here to Skip to main content
15,899,825 members
Please Sign up or sign in to vote.
1.00/5 (1 vote)
See more:
bracks are make me mad :D

C#
using System;
using UnityEngine;

namespace UnitySampleAssets._2D
{

    public class Camera2DFollow : MonoBehaviour
    {

        public Transform target;
        public float damping = 1;
        public float lookAheadFactor = 3;
        public float lookAheadReturnSpeed = 0.5f;
        public float lookAheadMoveThreshold = 0.1f;
        public float yPosRestriction = -1;

        private float offsetZ;
        private Vector3 lastTargetPosition;
        private Vector3 currentVelocity;
        private Vector3 lookAheadPos;

        float nextTimeToSearch = 0;

        // Use this for initialization
        private void Start()
        {
            lastTargetPosition = target.position;
            offsetZ = (transform.position - target.position).z;
            transform.parent = null;
        }

        // Update is called once per frame
        private void Update()
        {
            if (target == null) {
                target = FindPlayer();
                return;
            }

            // only update lookahead pos if accelerating or changed direction
            float xMoveDelta = (target.position - lastTargetPosition).x;

            bool updateLookAheadTarget = Mathf.Abs(xMoveDelta) > lookAheadMoveThreshold;

            if (updateLookAheadTarget)
            {
                lookAheadPos = lookAheadFactor * Vector3.right * Mathf.Sign(xMoveDelta);
            }
            else
            {
                lookAheadPos = Vector3.MoveTowards(lookAheadPos, Vector3.zero, Time.deltaTime * lookAheadReturnSpeed);
            }

            Vector3 aheadTargetPos = target.position + lookAheadPos + Vector3.forward * offsetZ;
            Vector3 newPos = Vector3.SmoothDamp(transform.position, aheadTargetPos, ref currentVelocity, damping);

            float clamping = Mathf.Clamp(newPos.y, -1, Mathf.Infinity);
            newPos = new Vector3(newPos.x, clamping, newPos.z);

            transform.position = newPos;

            lastTargetPosition = target.position;
        }

            private Transform FindPlayer()
            {
            Transform searchResult = GameObject.FindGameObjectWithTag("player").transform;

            if (searchResult == null)
            {
                Debug.LogWarning("Player object could not be found.");
                return null;
            }
            else
            {
                return searchResult;
            }

            }
    }


What I have tried:

expected error is the last bracks to this

public class Camera2DFollow : MonoBehaviour
{
Posted
Updated 14-Jul-18 7:08am

Each opening '{' should have a corresponding '}'

e.g.
{
    {
    }
}


In your case, there is a missing '}' at the end of the document.
 
Share this answer
 
Comments
FuriouStyx 14-Jul-18 4:50am    
Thanks so much :)
The class is closed by a "}", but the namespace isn't.
Add a "}" at the end of the document, and if it doesn;t reformat you code correctly automatically, try CTRL+K, D to force a reformat.
 
Share this answer
 
v2
Comments
FuriouStyx 14-Jul-18 4:51am    
Yes i fix it thanks so much :)
OriginalGriff 14-Jul-18 4:54am    
You're welcome!
Quote:
C# " } expected error "

With proper tools, you should have spot the problem in matter of seconds.

Learn to indent properly your code, it show its structure and it helps reading and understanding. It also helps spotting structures mistakes.

Professional programmer's editors have this feature and others ones such as parenthesis matching and syntax highlighting.
Notepad++ Home[^]
ultraedit[^]
 
Share this answer
 
Comments
FuriouStyx 14-Jul-18 14:20pm    
Thanks so much for these tools :=)
FuriouStyx 14-Jul-18 14:20pm    
and also for helping :)

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900