Наведите курсор мыши на палитру цветов и движущийся объект - PullRequest
1 голос
/ 24 октября 2011

У меня есть палитра цветов, который появляется только когда я нажимаю на другую кнопку текстуры GUI. также у меня есть объект, который имеет вращающийся скрипт позади него. Как я могу сказать, чтобы объект не вращался, когда я использую палитру цветов?

Это вращающийся скрипт.

function LateUpdate () {   
if (isCameraInputIgnored() ) {
        return;
}   

if (target && Input.GetMouseButton(0)) {
    x += Input.GetAxis("Mouse X") * xSpeed * 0.02;
    y -= Input.GetAxis("Mouse Y") * ySpeed * 0.02;

    y = ClampAngle(y, yMinLimit, yMaxLimit);

   var rotation = Quaternion.Euler(y, x, 0);

    var position = rotation * Vector3(0.0, 10.0, -distance) + target.position;

    transform.rotation = rotation;
    transform.position = position;
}
}    

Эта функция возвращает true, если указатель мыши находится над двумя всегда присутствующими текстурами.

function isCameraInputIgnored () : boolean {
var mousePos : Vector3  = Input.mousePosition; 
// invert the y-coordinate 
mousePos.y = Screen.height - mousePos.y;
if ( tilesBlock.Contains(mousePos) || wallBlock.Contains(mousePos)) 
    return true;


return false; //if mouse isn't over gui's
}
Declaration :
private var tilesBlock : Rect = Rect(0,0,570,182) ; //tiles rectangle
private var wallBlock : Rect = Rect(670,0,590,172) ; //walls rectangle

В функции LateUpdate я использую этот код, чтобы не вращать мой объект:

if (isCameraInputIgnored() ) {
        return;
} 

Моя проблема заключается в том, что после нажатия одной из вторых кнопок текстур графического интерфейса появляется средство выбора цвета, которое объявляется как GuiLayout.BeginArea (Rect), и когда я перетаскиваю мышь через цвет, мой дом двигается и одновременно меняет цвета время. Я хочу, чтобы мой дом был исправлен, когда я использую палитру цветов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...