Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 13 Next capture
2021 2022 2023
1 capture
13 Jun 22 - 13 Jun 22
sparklines
Close Help
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
  • Asset Store
  • Get Unity

UNITY ACCOUNT

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account
  • Blog
  • Forums
  • Answers
  • Evangelists
  • User Groups
  • Beta Program
  • Advisory Panel

Navigation

  • Home
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
    • Blog
    • Forums
    • Answers
    • Evangelists
    • User Groups
    • Beta Program
    • Advisory Panel

Unity account

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account

Language

  • Chinese
  • Spanish
  • Japanese
  • Korean
  • Portuguese
  • Ask a question
  • Spaces
    • Default
    • Help Room
    • META
    • Moderators
    • Topics
    • Questions
    • Users
    • Badges
  • Home /
avatar image
0
Question by ardy · Apr 03, 2014 at 06:12 AM · 2dmovementcharactercontroller

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;
   }
 }
Comment
Add comment · Show 2
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users
avatar image FlyingHighUp · Apr 03, 2014 at 06:31 AM 0
Share

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)

avatar image ardy · Apr 04, 2014 at 03:10 AM 0
Share

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 :(

0 Replies

· Add your reply
  • Sort: 

Your answer

Hint: You can notify a user about this post by typing @username

Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.

Follow this Question

Answers Answers and Comments

22 People are following this question.

avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image

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


Enterprise
Social Q&A

Social
Subscribe on YouTube social-youtube Follow on LinkedIn social-linkedin Follow on Twitter social-twitter Follow on Facebook social-facebook Follow on Instagram social-instagram

Footer

  • Purchase
    • Products
    • Subscription
    • Asset Store
    • Unity Gear
    • Resellers
  • Education
    • Students
    • Educators
    • Certification
    • Learn
    • Center of Excellence
  • Download
    • Unity
    • Beta Program
  • Unity Labs
    • Labs
    • Publications
  • Resources
    • Learn platform
    • Community
    • Documentation
    • Unity QA
    • FAQ
    • Services Status
    • Connect
  • About Unity
    • About Us
    • Blog
    • Events
    • Careers
    • Contact
    • Press
    • Partners
    • Affiliates
    • Security
Copyright © 2020 Unity Technologies
  • Legal
  • Privacy Policy
  • Cookies
  • Do Not Sell My Personal Information
  • Cookies Settings
"Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Default
  • Help Room
  • META
  • Moderators
  • Explore
  • Topics
  • Questions
  • Users
  • Badges