I’m using Unity 5 to make a simple 2D game following a tutorial and I keep getting this error:
I’m trying to add a jump script to my player and I think it’s to do with the fact the tutorial is using unity 4, so there might be script changes. The jump script is referencing a collision state script. Here are my two scripts:
Collision script:
using UnityEngine;
using System.Collections;
public class ColissionState : MonoBehaviour {
public LayerMask collisionLayer;
public bool standing;
public Vector2 bottomPosition = Vector2.zero;
public float collisionRadius = 10f;
public Color debugCollisionColor = Color.red;
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
}
void FixedUpdate(){
var pos = bottomPosition;
pos.x += transform.position.x;
pos.y += transform.position.y;
standing = Physics2D.OverlapCircle(pos, collisionRadius, collisionLayer);
}
void OnDrawGizmos(){
Gizmos.color = debugCollisionColor;
var pos = bottomPosition;
pos.x += transform.position.x;
pos.y += transform.position.y;
Gizmos.DrawWireSphere (pos, collisionRadius);
}
jump script:
using UnityEngine;
using System.Collections;
public class Jump : AbstractBehaviour {
public float jumpSpeed = 200f;
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
var canJump = inputState.GetButtonValue(inputButtons [0]);
if (ColissionState.standing) {
if(canJump){
OnJump();
}
}
}
protected virtual void OnJump(){
var vel = body2d.velocity;
body2d.velocity = new Vector2 (vel.x, jumpSpeed);
}
Thank you!