• 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 Whelandrew · Nov 23, 2011 at 08:32 PM · iosdraganddrop

Drag An Object in iOS

I am trying to drag an object with iOS touch. It seems to be almost working, but it does not hold onto the object when I begin to drag my finger across the screen.

 if(Input.touchCount>0 && Input.GetTouch(0).phase==TouchPhase.Moved){
             Ray ray = Camera.main.ScreenPointToRay(Input.GetTouch(0).position);
             if (Physics.Raycast(ray)){
                 touch=ray.origin;
                 enemy.position=touch;
             }
         }
Comment
Add comment
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

3 Replies

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

Answer by fukachan · Nov 28, 2011 at 03:57 AM

In other words you should drag it until you separate it if you become effective once

 if(Input.touchCount>0 && Input.GetTouch(0).phase==TouchPhase.Moved){
     ray = Camera.main.ScreenPointToRay(Input.GetTouch(0).position);
     if (Physics.Raycast(ray)){
         dragEnable = true;
     }
     if( dragEnable ){
         this.gameObject.transform.position=Input.GetTouch(0).position;
     }
 } else {
     dragEnable = false;
 }
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 Whelandrew · Nov 28, 2011 at 06:28 PM 0
Share

With this setup, I touch the object and it is immediately displaced off the screen somewhere outside my bounding boxes. I'm pretty sure that is because it is not reading the GetTouch position in World space when I call directly to the Input

avatar image Whelandrew · Nov 28, 2011 at 07:19 PM 0
Share

I have fixed my issue. The read location of the touch was not in Update and therefor only being assigned once. Now it works as desired.

avatar image
0

Answer by kevork · Nov 23, 2011 at 09:00 PM

Use the hitInfo from the Raycast instead of Ray.origin as the world position of the object.

Comment
Add comment · 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
0

Answer by Whelandrew · Nov 28, 2011 at 03:18 AM

Could you elaborate further on this? This is what I have currently:

 if(Input.touchCount>0 && Input.GetTouch(0).phase==TouchPhase.Moved){
                 ray = Camera.main.ScreenPointToRay(Input.GetTouch(0).position);
                 if(Input.GetTouch(0).phase==TouchPhase.Moved){
                     if (Physics.Raycast(ray)){
                         this.gameObject.transform.position=ray.GetPoint(100);
                     }
                 }
             }

This does grab the object, but it seems to fall out of range when moving my finger around

Comment
Add comment · 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

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

4 People are following this question.

avatar image avatar image avatar image avatar image

Related Questions

The name 'Joystick' does not denote a valid type ('not found') 2 Answers

How to support iPhone & iPad resolutions? 0 Answers

How to make a pedometer in UNITY 1 Answer

touchCount to jump and create/destroy joints ios 0 Answers

Why is iOS hosed? (5.x) 0 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