Project1
标题:
求大家推荐一个比较灵敏的鼠标系统核心
[打印本页]
作者:
风缘
时间:
2011-7-29 22:04
标题:
求大家推荐一个比较灵敏的鼠标系统核心
本帖最后由 风缘 于 2011-7-29 23:16 编辑
我现在用 沉影不器 的 鼠标核心(dll 版),我在写精灵的拖曳功能时,发现当快速拖曳时,Mouse.down? Mouse.up? 有时会不配对。(一般情况下 up 比 down 多)这对拖曳的开始和终止判断有些影响(我不想费精力写纠错逻辑了)。大家有没有更灵敏的鼠标核心推荐?我只要求核心部分就可以了,但要求有灵敏度保证(也就是说鼠标按键传递的误差率比较低)。
不拖曳快速点击松开的时候正常,拖曳时快速点击松开会出现不配对
。
先给出简化后的测试代码
until (Input.press?(Input::B))
Graphics.update
Input.update
Mouse.update
STDOUT << "up\n" if Mouse.up?(Mouse::LKEY)
STDOUT << "down\n" if Mouse.down?(Mouse::LKEY)
end
复制代码
查看输出结果的命令行
ruby -e '$stdout.reopen("stdout.txt");$stdout.sy
nc=true;system "game"'
复制代码
沉影不器鼠标核心的帖子
我使用的是 dll 版,下载地址在
这里
dsu_plus_rewardpost_czw
作者:
fux2
时间:
2011-7-29 22:08
up比down多乃是神么,你不松鼠标down两下给我看看.
作者:
风缘
时间:
2011-7-29 22:14
下面给出拖曳代码以及某次运行的输出
def update
if CGSSConfig.in_dev?
endDragging if Mouse.pos == nil # 移出游戏窗口外也算放下
if Mouse.down?(Mouse::LKEY)
# 寻找第一个被拖住的层
layer = @layers.find {|layer| Mouse.area?(layer.x,layer.y,layer.width,layer.height)}
beginDragging(layer) if (layer !=nil)
STDERR << "down\n"
elsif Mouse.up?(Mouse::LKEY)
endDragging
STDERR << "up\n"
elsif Mouse.press?(Mouse::LKEY)
if self.dragging? # 正在拖动
@draggingLayer.x += Mouse.pos[0] - @lastMousePos[0]
@draggingLayer.y += Mouse.pos[1] - @lastMousePos[1]
end
else
endDragging
end
@lastMousePos = Mouse.pos
end
end
def beginDragging(layer)
self.dragging = true
@draggingLayer = layer
end
def endDragging
self.dragging = false
@draggingLayer = nil
end
复制代码
down
up
down
up
down
down
down
down
up
down
down
down
down
down
up
down
up
up
down
down
down
up
down
up
up
down
up
up
up
down
up
down
down
up
up
down
up
down
up
down
up
up
up
down
up
down
up
up
up
up
down
复制代码
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1