How to change the scaling of a gameobject during runtime?

Hi All

I want to change the size of gameobject as a measuring tape.
Suppose if I touch and drag an object it should the increase the size of the gameobject in the specified direction.

Is this possible?

Can anyone please help me regarding this?

If the camera is axes aligned, then dragging out a Quad is relatively easy. Create a new scene. Create a Quad (GameObject>Create Other>Quad). Attach the following script:

#pragma strict

private var pos1 : Vector3;
private var pos2 : Vector3;

function Update () {

	if (Input.GetMouseButtonDown(0)) {
		pos1 = Input.mousePosition;
		pos1.z = transform.position.z - Camera.main.transform.position.z;
		pos1 = Camera.main.ScreenToWorldPoint(pos1);
		transform.localScale.x = 0;
	}
	
	if (Input.GetMouseButton(0)) {
		pos2 = Input.mousePosition;
		pos2.z = transform.position.z - Camera.main.transform.position.z;
		pos2 = Camera.main.ScreenToWorldPoint(pos2);
		
		var v3 = pos2 - pos1;
		transform.localScale.x = v3.magnitude;
		transform.position = pos1 + v3 * 0.5;
		transform.rotation = Quaternion.FromToRotation(Vector3.right, v3);
	}
}

you can use drag code , and put a scale function
, here is the code how you can use the drag function in your script , now just put a scaling funtion like
(Unity - Scripting API: Vector3.Scale)
using UnityEngine;
using System.Collections;

public class Drag2 : MonoBehaviour {
    private float dist;
    private bool dragging = false;
    private Vector3 offset;
    private Transform toDrag;
 
    void Update() {
       Vector3 v3;
 
       if (Input.touchCount != 1) {
         dragging = false; 
         return;
       }
 
       Touch touch = Input.touches[0];
       Vector3 pos = touch.position;
 
       if(touch.phase == TouchPhase.Began) {
         RaycastHit hit;
         Ray ray = Camera.main.ScreenPointToRay(pos); 
         if(Physics.Raycast(ray, out hit) && (hit.collider.tag == "Draggable"))
         {
          Debug.Log ("Here");
          toDrag = hit.transform;
          dist = hit.transform.position.z - Camera.main.transform.position.z;
          v3 = new Vector3(pos.x, pos.y, dist);
          v3 = Camera.main.ScreenToWorldPoint(v3);
          offset = toDrag.position - v3;
          dragging = true;
         }
       }
       if (dragging && touch.phase == TouchPhase.Moved) {
         v3 = new Vector3(Input.mousePosition.x, Input.mousePosition.y, dist);
         v3 = Camera.main.ScreenToWorldPoint(v3);
         toDrag.position = v3 + offset;
       }
       if (dragging && (touch.phase == TouchPhase.Ended || touch.phase == TouchPhase.Canceled)) {
         dragging = false;
       }
    }
}