Hello, can any tell me why this causes unity to crash (before I even get an error msg.)
var pressed : int;
function Update () {
if (Input.GetMouseButtonDown(0)){
pressed = 1;
mouseCheck();
}
}
function mouseCheck () {
while (pressed==1){
if (Input.GetMouseButtonUp(0)){
pressed=0;
}
}
}
--
I've tried commenting out different lines and "while (pressed==1)" seems to be the problem, any input as to why this is happening?
As the others have said, your function `mouseCheck` loops forever: it keeps checking to see if the mouse button is up, without letting any other code get a look in, and that includes the code for updating the mouse button status. (So even if you release the mouse button, your code never gets to find out.)
So I suggest making `mouseCheck` into a coroutine that calls `yield` to give other code a chance to run:
var pressed = false;
function Update () {
if (Input.GetMouseButtonDown(0)) {
pressed = true;
mouseCheck();
}
}
function mouseCheck () {
while (pressed) {
yield;
if (Input.GetMouseButtonUp(0)) {
pressed = false;
}
}
}