Best way to Move level in a infinte runner
i am having problems with my infinite runner. in the hierarchy i have all the game objects that need to move right to left in one empty game object and attached to that game object i have a rigid body 2d and a Level script, but when i try to play the game my player and level just fall. i have frozen rotation and the y position on the level rigid body but nothing seems to work. is there an easier way of moving the entire level excluding the player right to left ? thanks for any help.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Level : MonoBehaviour {
public GameObject MovableLevel;
private Rigidbody2D RB2D;
public Vector2 MoveSpeed;
// Use this for initialization
void Start () {
RB2D = MovableLevel.gameObject.GetComponent<Rigidbody2D>();
}
// Update is called once per frame
void Update () {
RB2D.MovePosition(RB2D.position + MoveSpeed);
}
}
public Rigidbody rb;
private float t = 0.0f;
private bool moving = false;
void Start()
{
rb = GetComponent<Rigidbody>();
}
void FixedUpdate()
{
if (Input.GetButtonDown("Jump"))
{
// the cube is going to move upwards in 10 units per second
rb.velocity = new Vector3(0, 10, 0);
moving = true;
Debug.Log("jump");
}
if (moving)
{
// when the cube has moved over 1 second report it's position
t = t + Time.deltaTime;
if (t > 1.0f)
{
Debug.Log(gameObject.transform.position.y + " : " + t);
t = 0.0f;
}
}
}
Your answer
Follow this Question
Related Questions
How to insert and offset on movement in the direction of he object is facing? 0 Answers
Please help, Unity bugs or not? 1 Answer
how to move objects along a curve? 2 Answers
How to fix minor jitter/stutter when moving a 2D character using physics in FixedUpdate() 0 Answers
My player does not turn around 0 Answers