我正在尝试实现类似于iOS中的橡皮筋效果.我快到了,但我需要一些帮助才能让它变得完美.这是我用HaxeFlixel制作的游戏.
这是我的代码:
// In main update loop
// If img was clicked
offsetY = Math.abs(img.y -mouseY);
...
if (img.y > 0) {
img.y = mouseY -(mouseY * .7);
}
else {
img.y = mouseY -offsetY;
}
Run Code Online (Sandbox Code Playgroud)
它的工作方式非常接近,但问题是,当我开始拖动图像时,它会在"橡皮筋效应"开始之前捕捉到略低于屏幕顶部的位置.如果我能得到帮助摆脱攫取它会很棒!
我想到了!顺便说一句,这是我发现的算法与苹果公司用于橡皮筋效果的算法非常相似(如果不相同).
// * x = distance from the edge
// * c = constant value, UIScrollView uses 0.55
// * d = dimension, either width or height
// b = (1.0 – (1.0 / ((x * c / d) + 1.0))) * d
Run Code Online (Sandbox Code Playgroud)
以下是我为解决问题所做的工作:
img.y = (1.0 - (1.0 / (((FlxG.mouse.screenY -offsetY) * .55 / 640) + 1.0))) * 640;
Run Code Online (Sandbox Code Playgroud)
(它的工作方式几乎与我上面发布的部分完全相同)
img.y = mouseY -(mouseY * .7);
Run Code Online (Sandbox Code Playgroud)
但我不得不这样做,以解决"捕捉"的问题,是要减去y偏移量从鼠标的位置,咄!; D谢谢!
| 归档时间: |
|
| 查看次数: |
1602 次 |
| 最近记录: |