- Home /
Object creation by mouse click
Hi folks!
I'v a function than create a sphere over a plane on the hitpoint of the mouse cursor when I press the left button of the mouse.
I want to make the object growing while the mouse button is pressend, and stop growing when I release the mouse.
I'm trying to do that with Input.GetMouseButtonUp and Down without success :(
Here is my actual code
 var bomb : GameObject; var timeD : float; var drop : GameObject;
 
               function Update (){
  var hit : RaycastHit = new RaycastHit();
 var cameraRay : Ray  = Camera.main.ScreenPointToRay(Input.mousePosition);
 if (Physics.Raycast (cameraRay.origin,cameraRay.direction,hit, 1000)) {
     var cursorOn = true;
 }
 var mouseReleased : boolean = false;
 //BOMB DROPPING 
 if (Input.GetMouseButtonDown(0)) {
     drop = Instantiate(bomb, transform.position, Quaternion.identity);
     drop.transform.position = hit.point;
     Resize();
 }
 }
 function Resize(){ if (!Input.GetMouseButtonUp(0)){
          drop.transform.localScale = Vector3(timeD,timeD,timeD);
         timeD +=Time.deltaTime;
     }
 } 
Tnx!!
Hi, tnx for the reply :) $$anonymous$$aybe I'm not explained exactly.
This is the list of operations I need to perform:
- One $$anonymous$$ouse click holding the mouse button 
- The object is created on the hit point of the cursor 
- The object grew until I release the mouse button 
Answer by flaviusxvii · Mar 21, 2011 at 03:09 PM
A few things, you'll probably want something more like:
drop.transform.localScale += Vector3(Time.deltaTime, Time.deltaTime, Time.deltaTime);
And you'll want this to happen over course of many calls to Update:
function Update (){
    if(Input.GetMouseButton(0)) {
        // This means the left mouse button is currently down, so we'll augment the scale
        drop.transform.localScale += Vector3(Time.deltaTime, Time.deltaTime, Time.deltaTime);
    }
}
GetMouseButtonUp and GetMouseButtonDown only get called once.. just on the frames those events take place.
You probably want to define a 'speed' so you can adjust that var speed = .5; drop.transform.localScale += Vector3(Time.deltaTime, Time.deltaTime, Time.deltaTime) * speed;
Your answer
 
 
              koobas.hobune.stream
koobas.hobune.stream 
                       
                
                       
			     
			 
                