- Home /
Limiting Player Movement in 2D game?
Hello y'all!
i'm making a small game to use in a sound design portfolio. the game is 600 x 900 for web and all takes place within 4 game object quads i've placed around the game as boundaries.
I'm using a script i found here: http://pixelnest.io/tutorials/2d-game-unity/player-and-enemies/ for the character controller which works great because it allows the player to float around freely and interact with some circle objects that are also floating around. My issue is though, that with the player controller script as is, the player can fly over and endlessly past the borders!
I really don't know where to start as far as editing code to limit a character's movement so any help on making the character limited to those borders would be of great help.
Here's the script:
using UnityEngine;
/// <summary>
/// Player controller and behavior
/// </summary>
public class PlayerScript : MonoBehaviour
{
/// <summary>
/// 1 - The speed of the ship
/// </summary>
public Vector2 speed = new Vector2(50, 50);
// 2 - Store the movement
private Vector2 movement;
void Update()
{
// 3 - Retrieve axis information
float inputX = Input.GetAxis("Horizontal");
float inputY = Input.GetAxis("Vertical");
// 4 - Movement per direction
movement = new Vector2(
speed.x * inputX,
speed.y * inputY);
}
void FixedUpdate()
{
// 5 - Move the game object
rigidbody2D.velocity = movement;
}
}
Do the gameObject quads you have around the edges have 2D box colliders on them?
Setting the velocity directly can also sometimes allow the player to go through colliders (if the velocity is great enough). The solution would be to use rigidbody2D.addForce or something. (This is the extent of my knowledge right now XD)
yeah the quads all have box colliders on them!
wouldn't know where to start as far as changing the movement to work with rigidbody2d.addForce though :(
Your answer
Follow this Question
Related Questions
The name 'Joystick' does not denote a valid type ('not found') 2 Answers
[2D] CharacterController rotation 0 Answers
Should character direction come from key press, or third person controller vector3? 0 Answers
GetKey and GetKeyDown are always registered? [Answered] 2 Answers
Unusual error regarding movement in a top down 2d sidescroller 1 Answer