是否可以在闪存(AS3)内部进行右键单击?
没有JQuery / JavaScript。
我需要在捕获右键时暂停游戏,所以我不想禁用上下文菜单,因为我只是想告诉右键单击已经发生。我可以添加一个EventListener吗?还有其他想法吗?
更新:
我需要触发事件,因为它们实际上是右击,而不仅仅是在上下文菜单消失之后。
答案 0 :(得分:1)
只有两种方法可以捕获右键单击事件:
对于网络浏览器应用程序:Use JavaScript。您不能直接在Flash中执行此操作,因为您无法禁用上下文菜单。
对于桌面应用程序:部署为AIR应用程序。 AIR内置RIGHT_CLICK MouseEvent。
没有第三步。 :(
P.S:也就是说,如果menuSelect真的不适合你 - 文档说明在菜单打开之前它会被触发。
答案 1 :(得分:1)
正如weltraumpirat报道的那样,捕获Right Click事件的唯一方法是,如果要将应用程序部署为AIR应用程序(如果要将其保留为Flash平台体系结构的原生应用程序),那么这种方法就是如此。否则你需要使用其他语言与Flash结合来捕获事件(即JavaScript)。
仅供参考,这是MouseEvent类的API参考,其中包含有关RightClick事件的信息:http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/events/MouseEvent.html
答案 2 :(得分:0)
没有Javascript! 是的它运作正常。
我告诉你:
如果您使用的是Flex-或Flash-Builder,则需要从根应用程序标记添加rightClick:
示例:<s:Applikation .... RightClick="appRightClick (event)">
比你需要关闭contextmenu为空。
你添加bordercontainer或视图,而不是添加rightClick和任何rightClick函数,而不是你需要从mx.controls.Menu添加菜单,而menu1需要监听rightClick到appRightClick(事件)
因为它无法从Flash Player Contextmenu访问。
我希望这是因为你的flash applikation适用于rightClick:)