• 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 DubstepDragon · Mar 01, 2014 at 05:03 PM · c#movementlimit

Player movement issue...

My player moves up and down, however there is something wrong with a part of the script. I have it set so as if the player goes higher than 4 on the y-axis, he cannot go further. Additionally with the other side, the player cannot go below -4 on the y-axis. This works fine sideways, but for some reason, as soon as the player reaches the bottom, he teleports 1 to the right, then teleports somewhere random around the screen. Here is the part of the script involved:

         if (transform.position.y > 4)
             transform.position = new Vector2(4, transform.position.x); // can't go further than 4
         else if (transform.position.y < -4)
             transform.position = new Vector2(-4, transform.position.x); // can't go further than -4


Can anyone help me please? Thanks in advance!

Comment
Add comment · Show 4
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 Lo0NuhtiK · Mar 01, 2014 at 05:06 PM 1
Share

Vector2(x,y)

avatar image DubstepDragon · Mar 01, 2014 at 07:14 PM 0
Share

Sorry but please explain in more detail...

avatar image highpockets · Mar 01, 2014 at 07:18 PM 0
Share

You have it backwards. You have the x last and y first..

You have:

Vector2(y,x);

Switch it to:

Vector2(x,y);

avatar image DubstepDragon · Mar 01, 2014 at 07:47 PM 0
Share

thx :D Now I get it :D

1 Reply

· Add your reply
  • Sort: 
avatar image
1
Best Answer

Answer by Dizmiester · Mar 01, 2014 at 07:34 PM

transform.position is listed as a Vector3 in the scripting reference. You could try using transform.position = new Vector3(transform.position.x, 4, 0); And the same for -4.. I'm not sure about the 2D scripting of unity so this may not solve anything.. Also as Lo0Nuhtik is saying declaring a Vector2 is by declaring the x first then the y as in Vector2(transform.position.x , 4);

Comment
Add comment · Show 3 · Share
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 DubstepDragon · Mar 01, 2014 at 07:47 PM 0
Share

Thx very much :D

avatar image highpockets · Mar 01, 2014 at 08:20 PM 0
Share

In 2D, you can still assign transform.position a Vector2 for x and y

avatar image Dizmiester · Mar 02, 2014 at 12:36 AM 0
Share

awesome thanks highpockets

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.

Welcome to Unity Answers

The best place to ask and answer questions about development with Unity.

To help users navigate the site we have posted a site navigation guide.

If you are a new user to Unity Answers, check out our FAQ for more information.

Make sure to check out our Knowledge Base for commonly asked Unity questions.

If you are a moderator, see our Moderator Guidelines page.

We are making improvements to UA, see the list of changes.



Follow this Question

Answers Answers and Comments

23 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 avatar image

Related Questions

Making a bubble level (not a game but work tool) 1 Answer

Best way to access a script component without knowing it's name? 4 Answers

set limit mouse x y Help needed 1 Answer

Could you help me with my respawn script c# 2d engine 0 Answers

Problem with player movements 1 Answer

  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Default
  • Help Room
  • META
  • Moderators
  • Explore
  • Topics
  • Questions
  • Users
  • Badges