有人能分享一下代码,如何绘制这样的矩形?(不是垂直的,不是水平的,介于两者之间)因为我发现你只能向函数DrawRect()
指定4个整数,而不能指定4个点。
矩形的区域必须对触摸敏感(我使用Contains()方法)
我尝试过,Matrix和Rotate()仅更新图形,但矩形的区域保持与原来相同
根据@fortran的建议进行转换后,您可以使用Matrix.mapPoints中的一个重载来查找矩形的新角落。您可能需要找到一些复杂的数学并自行进行碰撞检测。在原始矩形上调用Matrix.mapPoints()的逆变换,通过传递触摸坐标进行碰撞检测,可能会更容易一些。
我找到了解决方案 - 最简单的方法是使用Path类,通过点绘制一个自由旋转的矩形,然后创建一个具有Contains()函数的区域方法。
无需数学和费力的工作,既漂亮又容易。