提问人:Pulkit 提问时间:8/15/2023 更新时间:8/15/2023 访问量:23
更改对象的时间框属性,然后执行操作
Timebox property change for an object and then take action
问:
我有一个无法破解的问题,我正在寻找您编码天才的指点:)
问题
我有一个事件,假设当调用者为了我们的问题而采取某些操作时,该事件被触发,假设每当用户按下键盘上的任何键或移动鼠标时,我们都需要触发Event1
Event1
class Event1 {
...
public Event1(String name) {
}
}
class Runner {
public static void main(String arg[]){
while(true) {
//User enters some text via command line or moves mouse
Fire(new Event1("key up"));
}
}
private static Fire(Event1 event){
//Calls some external api
}
}
如果用户连续键入,我们最终每分钟将触发 100 个事件。我想做的是时间盒更改,即当我检测到用户将输入机制从键盘更改为鼠标时,反之亦然,我会触发事件。我还添加了一些示例,这些示例说明了何时触发事件是理想的。
例
|Event| Keyboard| Mouse | Keyboard | Mouse | Keyboard | Keyboard | Mouse | Keyboard |
|----| -------- | ------- | -------- | ------- | -------- | -------- | -------- | -------- |
|Time| 12:00:00 |12:00:01 | 12:00:02 |12:00:03 | 12:00:06 | 12:00:07 | 12:00:09 | 12:00:11 |
|----| -------- | ------- | -------- | ------- | -------- | -------- | -------- | -------- |
|Fire| True | False | False | True | True | False | True | True |
我可以跟踪事件类型并确定是否相同,然后不触发事件,但我无法解决输入机制频繁变化的闪烁问题。prev
current
仅供参考:如果这很重要,我正在使用 Csharp 语言:)
答: 暂无答案
评论