将鼠标移到颜色选择器和移动对象上

时间:2011-10-24 13:55:52

标签: javascript user-interface colors

我有一个颜色选择器,只有当我点击另一个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;
}
}    

如果鼠标位于2个始终存在的guitextures上,则此函数返回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;
} 

我的问题是,在按下第二个gui纹理按钮之一后,会出现一个颜色选择器,它声明为GuiLayout.BeginArea(Rect),当我将鼠标拖动到颜色时,我的房子会移动并改变颜色时间。当我使用颜色选择器时,我希望我的房子固定。

0 个答案:

没有答案