回答
好吧,假設你想從鼠標到左上角(在這種情況下,默認的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. 查找曼哈頓距離中兩組之間的距離
- 2. BinarySearch座標之間的距離
- 3. 計算座標之間的距離
- 4. 兩個座標之間的距離
- 5. Phonegap座標之間的距離
- 6. 多個座標之間的距離
- 7. 點之間的距離由EPSG座標
- 8. 一組線條之間的距離
- 9. 元素在兩點之間的距離和距離
- 10. ZedGraph減少標籤和軸標籤之間的距離?
- 11. CSS定位頁腳和標題標籤之間的距離
- 12. 分組事件之間的平均時間距離
- 13. artoolkit camer和ArMarker之間的距離
- 14. 向量和點之間的距離
- 15. RTT和距離之間的相關性
- 16. 相機和物體之間的距離?
- 17. QPainterPath和QPoint之間的最短距離
- 18. android和iphone之間的距離
- 19. 緯度和距離之間的關係
- 20. 距離之間的兩個
- 21. Android之間的距離
- 22. 點之間的距離
- 23. 地址之間的距離
- 24. 車牌之間的距離
- 25. A,B之間的距離
- 26. 航向和目標點之間的方位角和距離
- 27. numpy數組中標記組件之間的最小邊對邊歐氏距離
- 28. 500,000組座標之間的距離矩陣
- 29. 如何找到兩組座標之間的距離在PHP
- 30. Cython - 計算二維座標之間的距離數組
你正在尋找這個距離到形狀上的最近點或形狀的中心? – 2011-03-28 23:33:35
理想情況下距離形狀上的最近點 - 但我意識到這可能太難通用形狀的問題。我會採取合理的近似。 – 2011-03-29 00:25:42
我可以問你想用這個完成什麼嗎? – 2011-03-29 02:29:46