首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将小值映射为大值的方法,反之亦然

将小值映射为大值的方法,反之亦然
EN

Stack Overflow用户
提问于 2010-09-13 11:13:57
回答 2查看 130关注 0票数 0

我目前正在开发一个工具,该工具可以将Wiimote用作计算机鼠标,但遇到了问题。wiimote返回x和y坐标,与我的pc的屏幕分辨率相比,它们非常小,我正在寻找一种方法来将这些小值映射到我的大分辨率值。

例如,pc的最小x值是0,最大x值是1300,我也知道最小x值是0,但不知道大多数值。

我只想让wiimote在屏幕上移动鼠标指针,而不需要穿过屏幕坐标。

EN

回答 2

Stack Overflow用户

发布于 2010-09-13 11:19:37

大的最大值/小的最大值*小值=大值

票数 2
EN

Stack Overflow用户

发布于 2010-09-13 11:23:33

你的问题实际上和你想的不一样。我实际上没有Wiimote (这样一个古怪的名字..)但我假设它返回的是,而不是。所以你要做的就是有一个光标的位置:

代码语言:javascript
复制
Point pt=new Point(Width/2, Height/2);
// initialized in the center of the screen

每次收到更新事件时,都会将距离添加到您的点:

代码语言:javascript
复制
// say you get the distance in dx and dy
pt.x=Math.Max(0,Math.Min(Width,pt.x+dx*sx));  // clamped on screen
pt.y=Math.Max(0,Math.Min(Height,pt.y+dy*sy)); // clamped on screen
// and update your UI acordingly

其中sxsy是X和Y坐标的缩放值。从1.0开始,每个人都玩,直到你得到你想要的移动速率。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3697668

复制
相关文章

相似问题

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