作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在 NetLogo 中使用 mouse-down?
进行鼠标操作通常会导致操作发生太多次。例如,如果您想让用户点击以创建新的海龟,您可以将一个永久按钮挂接到如下过程:
to add-turtle
if mouse-down? [
crt 1 [ setxy mouse-xcor mouse-ycor ]
]
end
问题是这通常会导致每次点击创建许多海龟。我想做类似的事情:
to add-turtle
if mouse-clicked? [
crt 1 [ setxy mouse-xcor mouse-ycor ]
]
end
mouse-clicked?
在用户点击时为真(在他们离开鼠标按钮之后)。
最佳答案
不幸的是,您必须自己跟踪它,但好消息是这并不难。
关键是创建一个名为 mouse-was-down?
的全局变量,如果 mouse-down?
上次鼠标按下时为真,则将其设置为真定向程序被调用。那么mouse-clicked?
可以定义如下:
to-report mouse-clicked?
report (mouse-was-down? = true and not mouse-down?)
end
它似乎与调用其他基于点击的程序的中央鼠标管理程序结合使用效果很好。例如:
globals [ mouse-was-down? ]
to-report mouse-clicked?
report (mouse-was-down? = true and not mouse-down?)
end
to mouse-manager
let mouse-is-down? mouse-down?
if mouse-clicked? [
add-turtle
; Other procedures that should be run on mouse-click
]
set mouse-was-down? mouse-is-down?
end
to add-turtle
crt 1 [ setxy mouse-xcor mouse-ycor ]
end
如果在 mouse-manager
完成之前释放鼠标按钮,使用 mouse-is-down?
局部变量可以使行为更加一致。
关于user-interface - 在 NetLogo 中检测鼠标点击/鼠标松开,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22134822/
对不起: 我只是不知道如何链接这些连续的操作? 鼠标按下然后拖动然后松开。如果用户不执行此操作,则不会发生某些操作... 我是否应该添加代码,因为已经按下了区分它? 常量 MOUSE_MOVED 不起
我正在尝试使用 native javascript - 没有 jQuery,也就是说。捏合和松开但不适用于缩小/放大。它在 iOS 和 android 上使用触摸等很好。但我不知道如何为我的 Mac-
我是一名优秀的程序员,十分优秀!