我该如何使用Actionscript 3.0在我的Flash窗口中捕获用户的鼠标单击位置?
如何在ActionScript 3.0中捕获鼠标点击事件。
原标题:
问题回答
Ron DeVera很接近,但我不会使用内联函数,传递给函数的对象也不是Event,而是MouseEvent。
stage.addEventListener(MouseEvent.CLICK, _onStageMouseDown);
function _onStageMouseDown(e:MouseEvent):void
{
trace(e);
}
//traces
//[MouseEvent type="click" bubbles=true cancelable=false eventPhase=2 localX=96 localY=96 stageX=96 stageY=96 relatedObject=null ctrlKey=false altKey=false shiftKey=false buttonDown=false delta=0]
以上输出中的所有属性都可通过传递给事件侦听器方法_onStageMouseDown(e:MouseEvent)的对象进行访问。 因此,以下是
function _onStageMouseDown(e:MouseEvent):void
{
trace(e.localX);
trace(e.stageX);
//Note that the above two traces are identical as we are listening to the stage for our MouseEvent.
}
他们解释得很好,但这里是完整的代码,为了让您更好地理解:
addEventListener(MouseEvent.CLICK, clickHandler); function clickHandler(event: MouseEvent) : void { // these are the x and y relative to the object var localMouseX: Number = event.localX; var localMouseY: Number = event.localY; // these are the x and y relative to the whole stage var stageMouseX: Number = event.stageX; var stageMouseY: Number = event.stageY; }
位置是由什么上下文来定义的?整个页面吗?一个或多个特定的可点击控件?
你可以随时查询任何 DisplayObject 的 mouseX 和 mouseY。
相关问题
热门标签
- winforms
- combobox
- fogbugz
- java
- date
- internationalization
- asp.net
- iis
- url-rewriting
- urlrewriter
- c#
- enums
- ocaml
- haxe
- algorithm
- string
- viewstate
- .net
- c++
- c
- symbol-table
- mysql
- database
- postgresql
- licensing
- migration
- vb.net
- vb6
- declaration
- vb6-migration
- python
- psycopg2
- backup
- vmware
- virtualization
- gnu-screen
- authentication
- desktop
- excel
- xll
- cultureinfo
- regioninfo
- oracle
- client
- session
- download
- html
- virtual
- constructor
- scenarios
- perl
- full-text-search
- javascript
- ajax
- testing
- oop
- inheritance
- vim
- encapsulation
- information-hiding