首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在球拍中,没有鼠标就可以直接得到鼠标事件吗?

在球拍中,没有鼠标就可以直接得到鼠标事件吗?
EN

Stack Overflow用户
提问于 2017-10-06 20:04:09
回答 2查看 549关注 0票数 1

我非常需要直接使用鼠标事件。

不使用大爆炸就能得到鼠标事件吗?

也就是说,我想构建一个如下所示的函数:

(define (check-if-button-down mev) (mouse=? mev "button-down"))

但是为了获得mev,输入是从bigbang的鼠标上输入。

关于我:我是球拍节目新手。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-10-06 22:29:16

简短的回答:不完全是。

但是:当发生鼠标事件时,大爆炸模型调用鼠标事件处理程序,因此,如果您想知道鼠标按钮是否被按下,您的世界状态应该包括一个布尔值,指示鼠标按钮是否被按下,而您的鼠标事件处理程序应该返回一个正确更新此布尔值的world状态。

这个架构不适合你有什么原因吗?

票数 2
EN

Stack Overflow用户

发布于 2017-10-07 08:47:30

如果这是一个学生项目,你可能必须坚持大爆炸提供的(见约翰克莱门茨的答案)。

但是,如果您可以使用racket/gui (作为语言#lang racket/gui或作为附加的(require racket/gui)),那么您正在寻找get-current-mouse-state

例如

代码语言:javascript
复制
#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))
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46613204

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档