I’m in Unity 5.5.0f3 and following a tutorial that was made for version 4.something. I have simple code (below) which, when it runs, gets through the Start() but then my ‘bee’ game object, which is an animation, just sits there. It should be going up and down, based on the Y inputs to BeeGravity (-4, let’s say) and UpVelocity (2.5 or so).
This is all the output that I see in the console (not only should the bee move but I should see messages from UpDate and FixedUpDate as well:
Level3BeeMover: Start: didGoUp is false
UnityEngine.Debug:Log(Object)
Level3BeeMover:Start() (at Assets/Scripts/Level3BeeMover.cs:17)
the code:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Level3BeeMover : MonoBehaviour {
// Vector3 velocity = Vector3.zero;
private Vector3 BeeVelocity = Vector3.zero;
public Vector3 BeeGravity;
public Vector3 upVelocity;
// public float forwardSpeed = 5f;
bool didGoUp = false;
bool inOnce = true;
void Start() {
Debug.Log ("Level3BeeMover: Start: didGoUp is false");
}
void UpDate(){
if (inOnce) {
Debug.Log ("Level3BeeMover: UpDate: didGoUp is true?");
inOnce = false;
}
if (Input.GetMouseButtonDown (0) || Input.GetKeyDown ("space")) {
didGoUp = true;
}
}
void FixedUpDate () {
BeeVelocity += BeeGravity * Time.deltaTime;
if (didGoUp) {
Debug.Log ("Level3BeeMover: FixedUpdate: didGoUp was true");
didGoUp = false;
BeeVelocity += upVelocity;
}
transform.position += BeeVelocity * Time.deltaTime;
}
}