我很需要直接使用鼠标事件是否可以直接获得鼠标事件,而不需要在鼠标上进行拍照?
是否可以在不使用大爆炸的情况下获得鼠标事件?
即我想建立像下面这样的函数:
(define (check-if-button-down mev) (mouse=? mev "button-down"))
但对于越来越兆电子伏,输入被从鼠BIGBANG
饲喂关于我: 我新球拍编程
我很需要直接使用鼠标事件是否可以直接获得鼠标事件,而不需要在鼠标上进行拍照?
是否可以在不使用大爆炸的情况下获得鼠标事件?
即我想建立像下面这样的函数:
(define (check-if-button-down mev) (mouse=? mev "button-down"))
但对于越来越兆电子伏,输入被从鼠BIGBANG
饲喂关于我: 我新球拍编程
简短的回答:不是真的。
但是:当发生鼠标事件时,大爆炸模型会调用鼠标事件处理程序,因此如果您想知道是否按下鼠标按钮,您的世界状态应该包含指示鼠标按钮是否被按下的布尔值,以及你的鼠标事件处理程序应该返回一个正确更新这个布尔值的世界状态。
是否有某些原因,这种架构不适合你?
如果这是一个学生项目,你可能必须坚持什么大爆炸提供(见约翰克莱门斯的答案)。
但是,如果您可以使用racket/gui
(作为语言#lang racket/gui
或作为附加的(require racket/gui)
),那么您正在寻找get-current-mouse-state
。
例如
#lang racket
(require racket/gui)
(define (mouse-button-down?)
(define-values (pt state)
(get-current-mouse-state))
(if (or (memq 'left state)
(memq 'right state)
(memq 'middle state))
#t
#f))