private void FixedUpdate() { // Screen limits Vector3 viewMax = cam.ViewportToWorldPoint(new Vector3(1f, 1f, 0f)); Vector3 viewMin = cam.ViewportToWorldPoint(new Vector3(0f, 0f, 0f)); if (es.inTransit == false) { // move left if (es.moveForward == false && es.moveLeft == true) { ms.ShipMove(-1f, 0f); } // move right if (es.moveForward == false && es.moveLeft == false) { ms.ShipMove(1f, 0f); } // if either boundary reached if (es.moveForward == false && ((transform.position.x <= viewMin.x + boundary.xBuffer && es.moveLeft == true) || (transform.position.x >= viewMax.x - boundary.xBuffer && es.moveLeft == false)) ) { es.UpdateRefPos(); es.moveForward = true; } // move forward if (es.moveForward == true) { if (transform.position.y > referencePos - distanceToAdvance) { ms.ShipMove(0f, -1f); } else { // change direction if (es.moveLeft == true) { es.moveLeft = false; } else if (es.moveLeft == false) { es.moveLeft = true; } es.moveForward = false; } } } else if (es.inTransit == true) { ms.ShipMove(0f, 0f); } }
private void FixedUpdate() { // Movement (Player) float h = Input.GetAxis("Horizontal"); float v = Input.GetAxis("Vertical"); if (Input.GetKey(KeyCode.LeftShift) || Input.GetKey(KeyCode.RightShift)) { ms.ShipBoost(h, v); } else { ms.ShipMove(h, v); } }