- Home /
How Can I Visually See Touches On Screen?
I have a touch script I made below that displays the coordinates of a one finger touch on a touchscreen device. Trying to create a visual for where the touch happened on screen. Any references or ideas on how to accomplish this? Does it make a difference if the camera moves?
var fTC : Vector2; //fTC stands for first Touch Coordinates
function Update () {
if(Input.touchCount == 1){ //Does finger count on screen equal 1?
if(Input.GetTouch(0).phase == TouchPhase.Began){ //When touch on the touch-screen begins.
fTC = Input.GetTouch(0).position; //The screen coordinates of the first touch.
Debug.Log(fTC); //Show the screen coordinates of the first touch in the console window.
//Could put something here to make an image appear.
}
if(Input.GetTouch(0).phase == TouchPhase.Ended){ //When touch on the touch screen ends.
//Could put something here to make the image disappear.
}
}
}
Here's a YouTube video similar to what I am trying to do. Just the circles following touches part though. Except I'm trying have the circles appear on the first touch only, not follow. Also my camera moves in my scene. I don't know if that matters.
Add a GUITexture or Sprite, render it with a little math to center it on the position x/y of the touch, when release, hide it. Use the resources you've already found for the chords on the flat surface.
On Android, it's in the Dev options; if its just for testing anyway.
@meat5000, there is, i think it was "Show Touches" in those options, if your phone allows it of course
@meat5000 It's for the player to see their touches. That way they can see their beginning touch point in the game. I do know about the Dev tools on Android but I need to script the visuals in Unity. I only know Javascript at the moment. I can guess how to read/rewrite the syntax from C# to Javascript.
Answer by danielmetlitski · Jan 21, 2015 at 08:37 AM
Instantiate a prefab of a Gameobject where the transform position is Input.GetTouch(0).position. This will display the image where you touched the screen.
Wouldn't that Instantiate the prefab in the world coordinates rather than on the screen? For instance, if my tablet is 1920 x 1080 and the touch happened at (280,500) the prefab would be made in the world at 280,500 when my character is 1x1 unit big and the camera is covering the space around (0,0) in the my level with only 16 units to 9 units big. This would Instantiate the prefab out of view and far away from the camera. And since the camera follows the character would the prefab be on screen if the camera is moving?
You can instatiate it then set it as a child of the UI. $$anonymous$$ake sure it's rotated properly, and that it's an UI element.
A little something I tried just now. Got the GameObject to appear where I touch it. It's doesn't Instantiate as a child of the camera/player. Looking up how to do that now. Also the GameObject can only be seen in the Scene window and not the Game window. I can see it has a Z coordinate and need to figure out how to bring it forward..
#pragma strict
var circleTouch : GameObject;
var fTC : Vector2;
function Update () {
if(Input.touchCount == 1){ //Does finger count on screen equal 1?
if(Input.GetTouch(0).phase == TouchPhase.Began){ //When touch on the touch screen begins.
fTC = Input.GetTouch(0).position;
Instantiate(circleTouch, Camera.main.ScreenToWorldPoint(fTC), Quaternion.identity);
Debug.Log(fTC);
}
if(Input.GetTouch(0).phase == TouchPhase.Ended){ //When touch on the touch screen ends.
//Destroy(circleTouch); //This gave me an error. Never used destroy before but thought I'd try it.
}
}
}
Edit Fixed the camera's positioning. Changed the camera's Transform : Position from 0x0x(-10) to 0x0x0. And then changed the Clipping Planes setting which was set to it's default at 0.03, to 0. This helped fix the Z axis of the circles (touches) position in the game. Wasn't sure how to write in script a way to overwrite the camera's Z axis yet so I tried this work-around.
@sniper43 I did not know Unity 4.6 had this feature. I'm working in version 4.5.4f. I'll have to upgrade to use those features
Your answer
![](https://koobas.hobune.stream/wayback/20220613181011im_/https://answers.unity.com/themes/thub/images/avi.jpg)
Follow this Question
Related Questions
Unity buttons touchscreen woes 0 Answers
Android touch gui help!!! 2 Answers
Setting Scroll View Width GUILayout 1 Answer
The gui disappears when i let go 2 Answers
touch 3d object open gui 1 Answer