• 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
Question by dnadevelopers · Aug 22, 2014 at 05:55 PM · androidmovementinputtouchbuttons

Help with touchscreen controls

Hi everybody! I'm new to Unity and to scripting... I'm trying to make a small game for android but I'm having some trouble with the touchscreen movement, it works fine with the keyboard on the PC. I only need to move my player left and right. I have tried lots of scripts found on the Internet but none seemed to work... My original idea was to divide the screen in half and make each half a button. Another way I think is to make two buttons for right and left, I have tried but I can't understand how to do it. I use C# but Javascript is fine as well. If you could show me how you'd do it, it will be very much appreciated. Thanks in advance. P.S.: I know how to move the player, I just don't know how to use touchscreen input.

Comment

People who like this

0 Show 0
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

2 Replies

  • Sort: 
avatar image
Best Answer

Answer by Landern · Aug 22, 2014 at 05:56 PM

 if (Input.touchCount == 1)
 {
     Touch[] touch = Input.touches[0];
     if (touch.position.x < Screen.width/2)
         // Something that does what you need if left side is touched
     else if (touch.position.x > Screen.width/2)
         // Something that does what you need if rightside is touched
 }
Comment
Karios

People who like this

1 Show 4 · 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 daveinpublic · Aug 22, 2014 at 06:05 PM 0
Share

I have a question - where would you put that script, on the player?

avatar image Landern · Aug 22, 2014 at 06:22 PM 0
Share

Could be, could be on the camera, either way in an Update function/method. You can put it on what ever you want, i don't know your project structure.

avatar image dnadevelopers · Aug 22, 2014 at 07:44 PM 0
Share

Thank you so much it finally works!

avatar image ShazBang · Nov 30, 2014 at 02:39 AM 0
Share

hey, this is the exact code I have been looking for.

I am super noob at this, so why do i get errors like

';' expected. Insert a semicolon at the end.

Unexpected token: else.

Unexpected token: }.

expecting }, found ''.

Please help, where do I put this code? is it Java script or C#?

I'm terrible at this.

avatar image

Answer by luniac · Nov 30, 2014 at 02:51 AM

try TouchScript, its free and worked great for me after around 30 hours of fiddling around to learn how it works.

https://touchscript.github.io/

u could totally create an invisible plane for the left side of the screen and one for the right side. u can attach a press gesture to each plane and have the callback move the character left or right depending on which plane was pressed. What's nice is that you can also test this with mouse because touchscript has a built in emulator for it.

Alternatively you can have a full screen layer for the camera and a press gesture on it. Whenever any press is detected simply mathematically check whether its to the left or to the right of the midpoint of the screen, and then move the character accordingly.

I like second solution better since you don't have to make any extra objects.

Comment

People who like this

0 Show 0 · 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

Unity Answers is in Read-Only mode

Unity Answers content will be migrated to a new Community platform and we are aiming to launch a public beta by June 9. Please note, Unity Answers is now in read-only so we can prepare for the final data migration.

For more information and updates, please read our full announcement thread in the Unity Forum.

Follow this Question

Answers Answers and Comments

4 People are following this question.

avatar image avatar image avatar image avatar image

Related Questions

Moving character with touch buttons (Android) 1 Answer

Detect if finger lifted off screen 1 Answer

Button not responsive 1 Answer

Android touches wrong after using the application at least once 0 Answers

How to make a character move towards a side of the screen that's pressed at a constant rate? 2 Answers


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