Search Unity

  1. We've closed the job boards. If you're looking for work, or looking to hire check out Unity Connect. You can see more information here.
    Dismiss Notice
  2. We're running great holiday deals on subscriptions, swag and Asset Store packages! Take a peek at this blog for more information!
    Dismiss Notice
  3. Check out our Unite Austin 2017 YouTube playlist to catch up on what you missed. More videos coming soon.
    Dismiss Notice
  4. Unity 2017.2 is now released.
    Dismiss Notice
  5. The Unity Gear Store is here to help you look great at your next meetup, user group or conference. With all new Unity apparel, stickers and more!
    Dismiss Notice
  6. Introducing the Unity Essentials Packs! Find out more.
    Dismiss Notice
  7. Want to see the most recent patch releases? Take a peek at the patch release page.
    Dismiss Notice
  8. Unity 2017.3 beta is now available for download.
    Dismiss Notice

Touchable button

Discussion in 'Unity UI & TextMesh Pro' started by barciu, Mar 20, 2017.

  1. barciu

    barciu

    Joined:
    Mar 20, 2017
    Posts:
    3
    I'm creating a single screen 2D game and I want to create mobile touch controls for the player. I'd like an invisible slider/button that would give me the position of the current touch relative to the button's position. In other words, it should work like a horizontal slider that would be able to change it's position based on the user's finger location. I'm not interested in pointer down/pointer up events only, but I need to continuously check the position of the finger. I hope my description is clear enough. Please, help me, because it's my first Unity game and I'm struggling.
     
  2. barciu

    barciu

    Joined:
    Mar 20, 2017
    Posts:
    3
    I ended up adding an empty game object with a RectTransform and then calculating the local click coordinates with the following equation:
    localTouchPosition = touchPosition - transform.position
    then I can use the local position to transform it further into a percentage position:
    percentagePositionX = localPosition.x / rectTransform.rect.width
    percentagePositionY = localPosition.y / rectTransform.rect.height