2012-04-26 54 views
2

這裏是我的示例代碼Flex的本地鼠標位置

<canvas id="myCanvas" x="200" y="200" height="300" width="500" mouseOver="onOver" /> 
private function onOver(event:MouseEvent):void 
{ 
trace(mouseX,mouseY); 
} 

它給我造成對於我的應用程序MouseX和像老鼠,但我想對於我Canvas.please幫我任何一個

回答

3

嘗試這一點,可以幫助你

<?xml version="1.0" encoding="utf-8"?> 
<mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"> 
<mx:Script> 
<![CDATA[ 
import mx.core.Application; 

private function click(evt:MouseEvent):void 
{ 
var pt:Point = new Point(this.butt.x, this.butt.y); 
var global:Point = Application.application.localToGlobal(pt); 

trace("local_x: " + pt.x + " x " + pt.y); 
trace("global_x: " + global.x + " x " + global.y); 

var p:Point = stage.nativeWindow.globalToScreen(new Point(this.butt.x, this.butt.y)); 

trace(p.x + " x " + p.y); 
var na:NativeWindow = new NativeWindow(new NativeWindowInitOptions()); 
    na.visible = true; 
na.width = 100; 
    na.height = 100; 
na.x = p.x; 
na.y = p.y; 
    na.activate(); 

} 
]]> 
</mx:Script> 


<mx:Button x="10" y="10" id="butt" label="Click" click="click(event)" /> 

</mx:WindowedApplication> 
0

下面跟蹤嘗試: -

trace(event.target.mouseX); 
trace(event.target.mouseY);