Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 13 Next capture
2021 2022 2023
1 capture
13 Jun 22 - 13 Jun 22
sparklines
Close Help
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
  • Asset Store
  • Get Unity

UNITY ACCOUNT

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account
  • Blog
  • Forums
  • Answers
  • Evangelists
  • User Groups
  • Beta Program
  • Advisory Panel

Navigation

  • Home
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
    • Blog
    • Forums
    • Answers
    • Evangelists
    • User Groups
    • Beta Program
    • Advisory Panel

Unity account

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account

Language

  • Chinese
  • Spanish
  • Japanese
  • Korean
  • Portuguese
  • Ask a question
  • Spaces
    • Default
    • Help Room
    • META
    • Moderators
    • Topics
    • Questions
    • Users
    • Badges
  • Home /
avatar image
0
Question by Rik1337 · May 03, 2014 at 12:19 PM · errorplatformer

Script Errors!


Player Physics

using UnityEngine; using System.Collections;

public class PlayerPhysics : MonoBehaviour {

 public LayerMask collisionMask;
 
 private BoxCollider collider;
 private Vector3 size;
 private Vector3 center;
 
 private float skin = .005f;
 
 [HideInInspector]
 public bool grounded;
 
 Ray ray;
 RaycastHit hit;

 
 void Start() {
     collider = GetComponent<BoxCollider>();
     s = gameObject.collider.size;
     c = gameObject.collider.center;
 }
 
 public void Move(Vector2 moveAmount) {
     
     float deltaX = moveAmount.x;
     float deltaY = moveAmount.y;
     Vector2 p = transform.position;
     
     grounded = false
     for (int i = 0; i<=3; i ++) {
         float dir = Mathf.Sign(deltaY);
         float x = (p.x + c.x - s.x/2) + s.x/2 * i; // Left, centre and then rightmost point of collider
         float y = p.y + c.y + s.y/2 * dir; // Bottom of collider
     
         ray = new Ray(new Vector2(x,y), new Vector2(0, dir));
         
         if (Physics.Raycast(ray,out hit,Mathf.Abs(deltaY),collisionMask)) {
             // Get distance between player and ground!
             float dst = Vector3.Distance (ray.origin, hit.point);
             
             // Stop player's downwards movement after coming within skin width of a collider.
             if (dst > skin) {
                 deltaY = -dst + skin;
             }
             else {
                 deltaY = 0;
             }
             grounded = true;
             break;
             
         }
     
     }
 
 
 
     Vector2 finalTransform = new Vector2(deltaX,deltaY);
 
     transform.Translate(finalTransform);
 }

}


Player Controller

using UnityEngine; using System.Collections;

[RequireComponent(typeof(PlayerPhysics))] public class PlayerController : MonoBehaviour {

 // Player Handling
 public float gravity = 20;
 public float speed = 8;
 public float acceleration = 12; 
 
 private float currentSpeed;
 private float targetSpeed;
 private Vector2 amountToMove;
 
 private PlayerPhysics playerPhysics;


 void Start () {
     playerPhysics = GetComponent<PlayerPhysics>();
 }
 
 void Update () {
     targetSpeed = Input.GetAxisRaw("Horizontal") * speed;
     currentSpeed = IncrementTowards(currentSpeed, targetSpeed,acceleration);
     
     if (playerPhysics.grounded) {
         amountToMove.y = 0;
         
         // Jump
         if (Input.GetButtonDown("Jump")) {
             amountToMove.y = jumpHeight;
     amountToMove.x = currentSpeed;
     amountToMove.y -= gravity * UnityEngine.Time.deltaTime;
     playerPhysics.Move(amountToMove * UnityEngine.Time.deltaTime);
 }
 
 //Increase n towards target by speed
 private float IncrementTowards(float n, float target, float a) {
     if (n == target) {
         return n;
     }
     else {
         float dir = Mathf.Sign(target - n); // Must n be increased or decreased to get closer to target
         n += a * UnityEngine.Time.deltaTime * dir;
         return (dir == Mathf.Sign(target-n))? n: target; // If n has passed target then return target, otherwise return n
     }
 }

}

Is there any errors you can see and/or match these? Assets/Scripts/PlayerController.cs(39,15): error CS1525: Unexpected symbol private' Assets/Scripts/PlayerPhysics.cs(34,19): error CS1525: Unexpected symbol for' Assets/Scripts/PlayerPhysics.cs(34,37): error CS0201: Only assignment, call, increment, decrement, and new object expressions can be used as a statement Assets/Scripts/PlayerPhysics.cs(34,43): error CS1525: Unexpected symbol )', expecting ;' Assets/Scripts/PlayerPhysics.cs(63,36): error CS1519: Unexpected symbol (' in class, struct, or interface member declaration Assets/Scripts/PlayerPhysics.cs(63,51): error CS1519: Unexpected symbol )' in class, struct, or interface member declaration Assets/Scripts/PlayerPhysics.cs(65,1): error CS8025: Parsing error

I've been through the code multiple times and cant find a solution to what's wrong and how to fix it.

Comment
Add comment
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

2 Replies

· Add your reply
  • Sort: 
avatar image
0

Answer by fafase · May 03, 2014 at 12:27 PM

You are missing the closing of the update:

 void Update () {
     targetSpeed = Input.GetAxisRaw("Horizontal") * speed;
     currentSpeed = IncrementTowards(currentSpeed, targetSpeed,acceleration);
  
     if (playerPhysics.grounded) { //this one opens
        amountToMove.y = 0;
  
        // Jump
        if (Input.GetButtonDown("Jump")) {// this one opens
          amountToMove.y = jumpHeight;
     amountToMove.x = currentSpeed;
     amountToMove.y -= gravity * UnityEngine.Time.deltaTime;
     playerPhysics.Move(amountToMove * UnityEngine.Time.deltaTime);
    // no closing to both
 
 }
Comment
Add comment · Share
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users
avatar image
0

Answer by mattyman174 · May 03, 2014 at 12:30 PM

Your missing 2 } after your "void Update()" in PlayerController.

Your missing an ; after "grounded = false" in PlayerPhysics.

The following code is wrong.

 s = gameObject.collider.size;  //  s is not properly defined. size does not exist as a member of collider.
 c = gameObject.collider.center;  //  c is not properly defined. center does not exist as a member of collider.

Fixing these will remove your errors.

Comment
Add comment · Share
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

Your answer

Hint: You can notify a user about this post by typing @username

Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.

Follow this Question

Answers Answers and Comments

22 People are following this question.

avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image

Related Questions

Multiple Cars not working 1 Answer

Error: error CS0029: Cannot implicitly convert type `UnityEngine.GameObject[]' to `UnityEngine.GameObject 1 Answer

Enter Trigger, display Text, then delete object 1 Answer

Getting Unknown Identifier Error 1 Answer

Cant find my error in JavaScript? 1 Answer


Enterprise
Social Q&A

Social
Subscribe on YouTube social-youtube Follow on LinkedIn social-linkedin Follow on Twitter social-twitter Follow on Facebook social-facebook Follow on Instagram social-instagram

Footer

  • Purchase
    • Products
    • Subscription
    • Asset Store
    • Unity Gear
    • Resellers
  • Education
    • Students
    • Educators
    • Certification
    • Learn
    • Center of Excellence
  • Download
    • Unity
    • Beta Program
  • Unity Labs
    • Labs
    • Publications
  • Resources
    • Learn platform
    • Community
    • Documentation
    • Unity QA
    • FAQ
    • Services Status
    • Connect
  • About Unity
    • About Us
    • Blog
    • Events
    • Careers
    • Contact
    • Press
    • Partners
    • Affiliates
    • Security
Copyright © 2020 Unity Technologies
  • Legal
  • Privacy Policy
  • Cookies
  • Do Not Sell My Personal Information
  • Cookies Settings
"Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Default
  • Help Room
  • META
  • Moderators
  • Explore
  • Topics
  • Questions
  • Users
  • Badges