回答
好吧,假设你想从鼠标到左上角(在这种情况下,默认的Flex)的距离,只要使用毕达哥拉斯定理:
var d:int = Math.sqrt(Math.pow(theComponent.mouseX, 2) + Math.pow(theComponent.mouseY, 2));
同样,这将是从距离'theComponent'的左上角。如果你希望它是从部件的中心,这样做:
var d:int = Math.sqrt(Math.pow(theComponent.mouseX - theComponent.width/2, 2) + Math.pow(theComponent.mouseY - theComponent.height/2, 2));
每个DisplayObject有这个“mouseX/Y”属性,它始终是相对于左上角。
感谢您对mouseX的澄清,mouseY @J_A_X我找不到记录在任何地方,应该只是做了一些更多的测试,我想。 – shaunhusain 2011-03-29 15:16:50
您是否尝试过Adobe API?一切都在那里...... http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/ – 2011-03-29 15:31:47
Yah通常我发现文档是好的,但在这种情况下,没有明确描述事实mouseX将相对于组件,而不是阶段或组件容器或其他东西...只提及有关旋转,但没有更多http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash /display/DisplayObject.html#mouseX – shaunhusain 2011-03-29 15:38:32
想想我有一个解决方案放在一起为雅,我不相信有什么内置的,这将为你彻底做到这一点,虽然有可能比这更好的方式......但基本上任何解决方案我能想到的基本上都采用相同的概念所以在这里,它是:
private var lastClickedComponent:DisplayObject;
private var lastClickedGlobalPos:Point;
protected function application1_clickHandler(event:MouseEvent):void
{
// TODO Auto-generated method stub
lastClickedComponent = event.target as DisplayObject;
if(lastClickedComponent)
lastClickedGlobalPos = lastClickedComponent.parent.localToGlobal(new Point(lastClickedComponent.x,lastClickedComponent.y));
}
private function distanceToLastClicked():void
{
if(lastClickedComponent)
{
distanceLabel.text = Point.distance(lastClickedGlobalPos,new Point(mouseX,mouseY)).toString();
}
}
protected function application1_mouseMoveHandler(event:MouseEvent):void
{
distanceToLastClicked();
}
distanceLabel仅仅是一个标签的处理程序只设置在这个例子中的应用程序,但基本上这是唯一重要的部分是用于操作给出的距离函数on point和localToGlobal调用将DisplayObject的x/y位置转换为绝对坐标以与鼠标位置进行比较(注意,您可能需要在移动手柄中使用event.stageX,event.stageY呃取决于你要处理的对象,我不确定那个mouseX,mouseY是全局坐标)。同样正如评论中指出的那样,这只是考虑到形状的左上角不一定是最接近的边缘,否则你可能需要做一些形状特定的数学计算,除非有更新颖的方法。
- 1. BinarySearch坐标之间的距离
- 2. 计算坐标之间的距离
- 3. CSS定位页脚和标题标签之间的距离
- 4. 分组事件之间的平均时间距离
- 5. 向量和点之间的距离
- 6. RTT和距离之间的相关性
- 7. 相机和物体之间的距离?
- 8. artoolkit camer和ArMarker之间的距离
- 9. A,B之间的距离
- 10. 距离之间的两个
- 11. 车牌之间的距离
- 12. 航向和目标点之间的方位角和距离
- 13. numpy数组中标记组件之间的最小边对边欧氏距离
- 14. 如何找到两组坐标之间的距离在PHP
- 15. 在matplolib中增加标题和绘图之间的距离?
- 16. 增加顶部和类别图标之间的距离
- 17. 标题和页面列表博主之间的距离
- 18. 纬度和经度坐标之间的最小距离
- 19. MATLAB中轴标签和轴之间的距离图
- 20. MATLAB图中轴号和坐标轴之间的距离
- 21. 计算2组lon和lat之间的距离
- 22. xml布局:组件之间的距离不是
- 23. 道路距离,两地之间的实际距离
- 24. 如何获得距离眩晕两点之间的距离
- 25. WPF - 在拖动拖动之前拖动移动鼠标一组距离
- 26. 鼠标进入和鼠标离开asp.net
- 27. 测量坐标的经度和纬度坐标之间的距离
- 28. 每个文档中两点之间的距离和距离小于英里的距离
- 29. 中的mouseenter和鼠标离开事件
- 30. achartengine设置X标题和X文本标签之间的距离
你正在寻找这个距离到形状上的最近点或形状的中心? – 2011-03-28 23:33:35
理想情况下距离形状上的最近点 - 但我意识到这可能太难通用形状的问题。我会采取合理的近似。 – 2011-03-29 00:25:42
我可以问你想用这个完成什么吗? – 2011-03-29 02:29:46