- Home /
HELP - Touch and Drag with Android using JS
No, I can't use C#. Unity says it doesn't exist, and I've tried everything to fix it. I want to use JavaScript for my project.
Anyways. My scenario is pretty much: On a mobile game for android, there is a point where the player needs to rotate a wheel on the wall with touch controls. Touch it in one location, and drag around it to rotate it. Its a 2D box collider. with a rigidbody and a hinge joint. For the life of me, I cannot find a solution. Every. Single. Thing. I have tried has not worked. Must have gone through a dozen scripts that other people swore worked for them. Won't work for me. I don't know why. I'm using a LG Optimus, and an old project I had that used touch controls still works. So touch works on my phone.
I can't figure out why I can't get ANYTHING to work. I have been at it for a while. Would someone please help me figure this out? I'm smashing my head here trying to figure this out. Thanks.
This script someone SWORE worked just so great for them. Does absolutely nothing for me.
#pragma strict
// Attach this script to an orthographic camera.
private var object : Transform; // The object we will move.
private var offSet : Vector3; // The object's position relative to the mouse position.
function Update () {
var ray = camera.ScreenPointToRay(Input.mousePosition); // Gets the mouse position in the form of a ray.
if (Input.GetButtonDown("Fire1")) { // If we click the mouse...
if (!object) { // And we are not currently moving an object...
var hit : RaycastHit;
if (Physics.Raycast(ray, hit, Mathf.Infinity)) { // Then see if an object is beneath us using raycasting.
object = hit.transform; // If we hit an object then hold on to the object.
offSet = object.position-ray.origin; // This is so when you click on an object its center does not align with mouse position.
}
}
}
else if (Input.GetButtonUp("Fire1")) {
object = null; // Let go of the object.
}
if (object) {
object.position = Vector3(ray.origin.x+offSet.x, object.position.y, ray.origin.z+offSet.z); // Only move the object on a 2D plane.
}
}
Your answer
Follow this Question
Related Questions
Multiple Cars not working 1 Answer
Touch Button Android Help! 0 Answers
How to Touch Drag 3D Objects 2 Answers
Box Drag and throw away script for mobile? 0 Answers
Detecting onDrag over UI images 1 Answer