我试图弄清楚鼠标单击是否在矩形变换内部。
每次用户点击屏幕时,就会抛出一个球。但如果用户单击暂停按钮,则不应扔球。
我尝试用这段代码来解决,但似乎只识别了矩形变换的右上四分之一。这是一个简短的视频来展示实际问题:https ://youtu.be/gdyDBK6ubgo
这是代码片段:
void Update() {
//Check if user touch on display / click mouse button
Vector2 mousePos = new Vector3(Screen.width - Input.mousePosition.x,Screen.height - Input.mousePosition.y, 0);
if (Input.GetMouseButtonDown(0) && props.throwable && !checkCollisionWithPauseButton(mousePos) && props.remainingBalls > 0)
{
fireBall(Input.mousePosition);
}
}
bool checkCollisionWithPauseButton(Vector3 mousePos){
//TODO: This does not work very well
return pauseButton.GetComponent<RectTransform>().rect.Contains (mousePos);
}
Run Code Online (Sandbox Code Playgroud)
这是显示矩形变换的屏幕截图。