Unity3d moving by touches/clicks on screen script

step 1: add collider to your terrain // thêm colider vào terrain

step 2: add sphere or somethings else to your scene/ thêm 1 sphere hoặc cái gì đó vào scene

step 3: create a script c# and copy this script / tạo 1 script bằng c# và copy cái script ở dưới vào

using UnityEngine;
using System.Collections;

public class CharacterControllerTouches : MonoBehaviour {

 // set true on click. reset to false on reaching destination
 private bool _clicked = false;
 private Vector3 _endPoint;

 public float _duration = 5.0f;// speed of movement
 private float _yAxis; //vertical position of the gameObject

 void Start(){
 _yAxis = gameObject.transform.position.y;

 void Update(){
 Debug.Log (_clicked);
 // check if screen is touch or click
 if((Input.touchCount > 0 && Input.GetTouch(0).phase == TouchPhase.Moved) 
 || (Input.GetMouseButton(0)))
 Debug.Log("vao if 1");
 RaycastHit hit;
 Ray ray;
 //for unity editor
 ray = Camera.main.ScreenPointToRay(Input.mousePosition);
 //for touch device
 ray = Camera.main.ScreenPointToRay(Input.GetTouch(0).position);

 // check if touch/click any collider
 if(Physics.Raycast(ray,out hit))
 _clicked = true;
 _endPoint = hit.point;
 // get gameObject was hit 

 //check if clicked and not the same with the previous click
 if(!Mathf.Approximately(gameObject.transform.position.magnitude, _endPoint.magnitude))
 _endPoint.y = _yAxis; // not change y axis
 gameObject.transform.position = Vector3.Lerp(gameObject.transform.position
 ,_endPoint, _duration*Time.deltaTime);
 Debug.Log("I am moving");
 _clicked = false;
 Debug.Log("i am not click");

you can change “_duration*Time.deltaTime”  to have a smooth movement as you want

Bạn có thể thay đổi “_duration*Time.deltaTime”  để duy chuyển được mượt hơn

step 4: add the script to the sphere or somethings else as you added /  thêm script  vào cái sphere mà bạn đã thêm vào

and then test it :))


Trả lời

Mời bạn điền thông tin vào ô dưới đây hoặc kích vào một biểu tượng để đăng nhập:

WordPress.com Logo

Bạn đang bình luận bằng tài khoản WordPress.com Đăng xuất / Thay đổi )

Twitter picture

Bạn đang bình luận bằng tài khoản Twitter Đăng xuất / Thay đổi )

Facebook photo

Bạn đang bình luận bằng tài khoản Facebook Đăng xuất / Thay đổi )

Google+ photo

Bạn đang bình luận bằng tài khoản Google+ Đăng xuất / Thay đổi )

Connecting to %s