• 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
1
Question by JJG · Jul 23, 2013 at 07:21 PM · transform.position

C# changing values of "transform.position"

Hi, yes, I have used the search function! :P Only problem is that the answered threads somehow couldnt help me because I am still not getting what to do.

My question is if someone could tell me how to get this code to work.

     {
         if(Input.mousePosition.x > screenwidth - Limit)
         {
             transform.position.x += speed * Time.deltaTime;
         }
         
         if(Input.mousePosition.y < Limit)
         {
             transform.position.y -= speed * Time.deltaTime;
         }
         
         if(Input.mousePosition.x < Limit)
         {
             transform.position.x -= speed * Time.deltaTime;
         }
         
         if(Input.mousePosition.y > screenheight - Limit)
         {
             transform.position.y += speed * Time.deltaTime;
         }
             
     
     
     }

 

"screenwidth/height, Limit and speed have of course all been declared. I would really appreciate it if someone could help me with this because I would really like to move on with my game, but I kinda feel like the "QWOP" runner atm, faceplanting after the first step! :P

Comment
Add comment · Show 1
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 Seth-Bergman · Jul 23, 2013 at 07:38 PM 0
Share

what is the problem, or more to the point, what exactly do you wish to happen? change speeds/direction depending on cursor position?

1 Reply

· Add your reply
  • Sort: 
avatar image
4

Answer by Dave-Carlile · Jul 23, 2013 at 07:47 PM

transform.position is a property that returns a struct, so you can't directly set the fields. You need to get a copy of the position vector, set the fields, then set the property back to the new value - i.e. set the entire struct...

 Vector3 newPosition = transform.position;
 newPosition.x = ...
 newPosition.y = ...
 transform.position = newPosition;

More specifically to your case, set newPosition before all of your if statements. Manipulation newPosition within your if statements, then set transform.position after.

Comment
Add comment · Show 2 · 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 JJG · Jul 25, 2013 at 04:48 PM 0
Share

Thank you very much, it still took me a little bit of time to figure it out, but it really helped!

 Vector3 newPosition = transform.position;
         
         if(Input.mousePosition.x > screenwidth - ScreenscrollingStart)
         {
             newPosition.x += Speed * Time.deltaTime;
             Debug.Log(newPosition.x);
             
             transform.position = newPosition;
         
         }
avatar image robertbu · Jul 25, 2013 at 05:01 PM 0
Share

@JJG - if you question is answered, please click on the checkmark next to the answer to close it out. Thanks.

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

If you’re new to Unity Answers, please check our User Guide to help you navigate through our website and refer to our FAQ for more information.

Before posting, make sure to check out our Knowledge Base for commonly asked Unity questions.

Check our Moderator Guidelines if you’re a new moderator and want to work together in an effort to improve Unity Answers and support our users.

Follow this Question

Answers Answers and Comments

18 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

Related Questions

Child GameObject is aligned to world axis and not the parents axis (UPDATE) 1 Answer

My object does not appear in the proper position 1 Answer

Taking a "Range mapped" value and using it to drive the position of an object. 1 Answer

How can I get the precise transform position in Update? 1 Answer

I'm trying to displace a UI object in the opposite direction I move a scrollbar 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