stage按键监听

代码

package tools{
        
public class KeyIsDown{
                
private static var obj;
                
                
public static function init(stage){
                        obj 
= new Object();
                        stage.addEventListener(
"keyDown", keydownHandler);
                        stage.addEventListener(
"keyUp", keyupHandler);
                }
                
                
public static function isDown(key){
                        
return(obj[key] ? true : false);
                }
                
                
private static function keydownHandler(event){
                        obj[event.keyCode] 
= true;
                }
                
                
private static function keyupHandler(event){
                        obj[event.keyCode] 
= false;
                }
                
        }
}

开始的时候在文档类构造的时候KeyIsDown.init(stage)一下
然后在任何地方KeyIsDown.isDown(keycode)都可以返回keycode有没有按下了

相关推荐:

GitLab CI 中监听作业状态并实现取消/超时清理的完整方案

GitLab17.0起after_script将原生支持在作业被手动取消或超时时执行,此前可借助Webhook监听job事件实现外部清理逻辑,避免资源泄漏。 gitlab17.0起`after_script`将原生支持在作业被手动取消或超时时执行,此前可借助webhook监听job事件实现外部清理逻...

如何在 PyQt6 中实现鼠标按键与字母/数字键的组合触发

本文介绍在PyQt6中检测鼠标按键(如左键)与普通键盘按键(如数字键'1')同时按下的方法,解决QMouseEvent不含key()方法的问题,通过状态标记+事件协同实现自定义组合操作。 本文介绍在pyqt6中检测鼠标按键(如左键)与普通键盘按键(如数字键'1')同时按下的方法,解决`qmousee...

Python如何实时监控文件夹变动_基于watchdog库的监听方案

watchdog监听器启动后没反应,需检查事件处理器是否注册及主线程是否被阻塞;必须显式调用observer.join()或time.sleep()维持进程存活,否则程序退出导致监听终止。 watchdog监听器启动后没反应?检查事件循环和阻塞点 watchdog本身不自动运行事件循环,Observ...

如何实现在Python类中监听属性删除_重写__delattr__方法

直接重写__delattr__会出错,是因为若未调用super().__delattr__(name),将绕过Python默认的属性删除检查(如只读描述符校验),导致无法真正删除属性或误删__dict__等关键属性而崩溃;安全做法是先执行自定义逻辑(如日志、校验),再委托父类完成实际删除。 为什么直...

如何在 Tkinter 中实现单次按键触发事件(避免重复触发)

Tkinter默认会在按键长按时持续触发事件,本文详解如何通过KeyPress/KeyRelease组合、状态标记或事件绑定控制,精准捕获每次物理按键的首次按下,并提供可复用的类封装方案与组合键(如Shift+1、1+±)处理技巧。 tkinter默认会在按键长按时持续触发``事件,本文详解如何通过...

如何在 Tkinter 中实现单次按键事件触发(避免重复触发)

Tkinter默认会在按键长按时持续触发事件,本文详解如何通过KeyPress/KeyRelease绑定、状态标记或事件去抖策略,精准捕获每次物理按键的首次按下,并附带组合键(如Shift+1、数字+±)的可靠检测方法。 tkinter默认会在按键长按时持续触发``事件,本文详解如何通过`keypr...