hi everyone how can i move an object from a point to specific point(point b) by mouse click
i worte this code but it does't work :(
using UnityEngine;
using System.Collections;
public class lerp : MonoBehaviour {
public GameObject[] B_tower=new GameObject[2];
public GameObject[] B_coins = new GameObject[2];
public string Coin_object,Tower_object;
private int i,j;
Transform c,t;
float startTime,speed=120.0f,journeyLength;
void Start() {
startTime = Time.deltaTime;
B_tower [0] = GameObject.Find ("Tower 4");
B_tower [1] = GameObject.Find ("Tower 13");
B_coins [0] = GameObject.Find ("White_coin 0");
B_coins [1] = GameObject.Find ("White_coin 1");
c = B_coins [i].transform;
t = B_tower [j].transform;
journeyLength = Vector3.Distance (c.position, t.position);
}
void Update()
{
if (Input.GetMouseButtonDown (0)) {
Ray ray = Camera.main.ScreenPointToRay (Input.mousePosition);
RaycastHit hit1,hit2;
if (Physics.Raycast (ray, out hit1)) {
if (hit1.collider != null)
Coin_object = hit1.collider.name;
for(i=0; i<B_coins.Length;i++)
{
if(B_coins[i].name==Coin_object)
{
c=B_coins[i].transform;
}
}
}
if (Physics.Raycast (ray, out hit2)) {
if (hit2.collider != null)
Tower_object = hit2.collider.name;
for(j=0;j<B_tower.Length;j++)
{
if(B_tower[j].name==Tower_object)
{
t=B_tower[j].transform;
}
}
}
float smooth = (Time.time - startTime) * speed;
float f=smooth/journeyLength;
transform.position = Vector3.Lerp(c.position, t.position,f);
}
}
}
Comment