反转并转换滑块值

2023-12-25

我目前有一个垂直滑块,由用户使用 startDrag 控制。冰球的移动受到 115 像素高的轨道影片剪辑的限制。

private function init():void
{
    puck.y = (track.height-puck.height)/2;
    puck.buttonMode = true;
    puck.addEventListener(MouseEvent.MOUSE_DOWN,onMouseDown);
}
private function sendNewValue():void
{
    trace(Math.round(puck.y-track.y+(puck.height/2)));
    var newVal:Number = ; //need some math magic here
    dispatchEvent(new ToolEvent(ToolEvent.SCALE,1));
}
private function onMouseDown(evt:MouseEvent):void
{
    this.stage.addEventListener(MouseEvent.MOUSE_UP,onMouseUp);
    puck.startDrag(false,new Rectangle((track.x + (track.width/2))-(puck.width/2),track.y-(puck.height/2),0,track.height));
}
private function onMouseUp(evt:MouseEvent):void
{
    puck.stopDrag();
    sendNewValue();
}

我可以使用它从中获取值Math.round(puck.y-track.y+(puck.height/2)),根据冰球的位置给出 1 到 115 之间的值。

现在遗憾的是数学根本不是我的强项(对程序员有帮助!),所以有人请解释我如何转换这些值,以便:

1 = 2
115 = 0
midpoint (115/2) = 1

Edit:有点像这里的问题:如何反转音量滑块的音量数学? https://stackoverflow.com/questions/2179869/how-do-i-reverse-my-sound-volume-math-for-my-volume-slider,但除了反转该值之外,我还需要按比例调整它。


如果您正在寻找一个线性函数,使得:

f(1)=2 and f(115) = 0

F(x) = 115/67 -x/67 will work

概括:

如果您正在寻找线性函数f(x) = a.x + b这样:

f(x1)=y1
f(x2)=y2

那么解决方案是:

a=(y1-y2)/(x1-x2)
b=y1 - x1*(y1-y2)/(x1-x2)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

反转并转换滑块值 的相关文章

  • 石和磅的格式正确吗?

    我有一个图表 用于显示重量 以英石和磅 lbs 为单位 该图表由记录中的数据填充 对于权重 数据类型为 Double 记录数据是在运行时编辑的 我需要知道一种正确格式化输入数据的方法 为了更好地理解 首先看一下这些示例值 它们表示为石和磅
  • 如何计算 3D 坐标的线性索引,反之亦然?

    如果我有一个点 x y z 如何找到该点的线性索引 i 我的编号方案是 0 0 0 是 0 1 0 0 是 1 0 1 0 是最大 x 维度 另外 如果我有一个线性坐标 i 我如何找到 x y z 我似乎无法在谷歌上找到这个 所有结果都充满
  • 我在哪里可以学习游戏物理及其背后的数学基础知识? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我在大学学过数学 三角学 微积分 II 但我不知道为什么在游戏物理中使用 tan arctan 等 我
  • 移动影片剪辑时的视觉错误

    在我尝试创建一个简单的类似乒乓球的游戏时 我遇到了一个非常奇怪的 有时甚至是严重的视觉错误 当我设置球 Flash CS 5 5 库 MovieClip 以相当快的速度在屏幕上移动时 我注意到有时球的边缘会在其移动方向上被短暂切断 当它发生
  • 对象克隆库的 Flash 复制?

    这可能是一个非常简单的问题 我只是不知道如何解决 我有一个想要复制的对象 但不知道如何进行 这是我的尝试 var myObj new ObjectClass var duplicate myObj duplicate null myObj
  • flash 10 正交投影

    我一直在尝试新的 flash 10 3d 可能性 发现在 3d 中旋转精灵相当容易 var card Sprite new MyCard card x 100 card y 100 card z 200 card rotationX 60
  • 查找最接近点的多边形顶点的索引

    Heading 我需要找到最接近点的多边形的索引 所以在这种情况下 输出将是 4 和 0 这样 如果添加了红点 我就知 道将顶点放置在数组中的位置 有谁知道从哪里开始 抱歉 如果标题有误导性 我不知道如何正确表达它 In this case
  • 如何在 JavaScript 中获取浮点数的小数位?

    我想要的是与 Number prototype toPrecision 几乎相反的 这意味着当我有数字时 它有多少位小数 例如 12 3456 getDecimals 4 对于任何想知道如何更快地完成此操作 无需转换为字符串 的人 这里有一
  • 使用 Flash 获取计算机信息

    是否可以使用 Adob e Flash 检索计算机信息 RAM 硬盘大小 CPU 速度等 如果是这样 有人可以向我指出一个网站 告诉我如何做吗 我认为你无法获得 RAM 硬盘大小或时钟速度 Flash 在虚拟机中运行 并且它可能被设置为仅向
  • 如何在 AS3 flash 中暂停/播放嵌入声音

    我有一个长度为 1 分 30 分钟的声音 我将其嵌入到我的 swf 中并将其设置为与框架同步 我需要的是能够通过 ActionScript 暂停和播放这个声音 有谁知道如何做到这一点 number that is redefined whe
  • 电影剪辑结束的 Flash 事件侦听器?

    任何人都可以建议影片剪辑动画结束时触发功能的最佳方式吗 我认为事件监听器可以处理这个问题 但不确定最好的方法 谢谢 保罗 有几种方法可以解决这个问题 只需从动画的最后一帧调用该函数即可 在函数的最后一帧上调度一个事件并在其他地方监听它 长而
  • 有没有办法子类化并重写自定义命名空间中的方法?

    假设我有一个类 其方法定义在公共 受保护或内部之外的命名空间中 package com foo bar import com foo my name space public class bar private var vabc Strin
  • 确定数字在以 0 为中心并螺旋增加的数字网格中的位置

    我有以下数字网格 以 0 为中心并螺旋增加 我需要一个算法 它可以接收螺旋形数字并返回 x y 从 0 到该数字的移动次数 例如 对于数字 9 它将返回 2 1 如果是 4 则为 1 1 25 26 etc 24 9 10 11 12 23
  • 如何确定 n 高数字金字塔中的最大路线成本

    我有一个像这样的数字金字塔 7 4 8 1 8 9 2 4 6 7 4 6 7 4 9 4 9 7 3 8 8 routes 32 每个数字都按其系列中的强大程度进行索引 0 9 gt 1 1 8 gt 5 2 8 gt 4 3 7 gt
  • 快速找到一个数字的下一个倍数的方法

    我需要找到从基数开始的数字的第一个倍数 例如 7 中 3 的第一个倍数是 9 我的第一次尝试是这样做 multiple baseNumber while multiple number 0 multiple 最后 multiple 将具有第
  • 如何反转音量滑块的音量数学?

    我正在构建一个视频播放器 但有点卡在音量滑块部分 这是一个 YouTube 风格的垂直滑块 这意味着如果滑块位于顶部位置 音量应该为 100 如果滑块拖动到底部位置 声音应该为 0 目前它的做法与我想要的相反 向下拖动滑块将使声音变大 向上
  • Atom feed xmlns 属性搞乱了 AS3 的 XML 解析?

    想看一些有趣的东西吗 var xml XML XML
  • Air 2 ServerSocket跨域问题

    我希望通过 ServerSocket 类创建一个 Air 2 服务器 您将在下面的代码中找到有关它的示例 限制条件 服务器必须在空中 客户端必须通过网络浏览器显示 客户端使用Web浏览器显示 因此当客户端想要与Air服务器建立连接时 Fla
  • 求 a 范围内的 pow(a^b)modN

    对于给定的b and N以及一系列a say 0 n 我需要找到ans 0 n 1 where ans i 没有a s为此pow a b modN i 我在这里搜索的是可能的重复pow a b modN对于一系列a 以减少计算时间 例子 i
  • n 个素数之和 java,困惑

    我读过几篇关于这方面的文章 我什至在一次考试中这样做过 但是是在 vb net 中 它工作得很好 但是当我尝试执行我的程序时 Eclipse 只是不停地运行 否则它会给我错误的答案 这是我的第四次尝试 我需要将前 n 个素数相加 因此我检查

随机推荐