[英]Rubber band effect
我正在嘗試實現類似於iOS中的橡皮筋效果。 我快到了,但是我需要一些幫助才能使其完美。 這是我用HaxeFlixel制作的游戲。
這是我有atm的代碼:
// 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;
}
它的工作方式大致上應該如此,但是問題是,當我開始拖動圖像時,它會在“橡皮筋效果”開始播放之前捕捉到屏幕頂部下方的某個位置。如果我可以得到幫助,擺脫搶購將是很棒的!
我想到了! 順便說一句,這是我發現的一種算法,與蘋果公司用於橡皮筋效果的算法非常相似(如果不相同)。
// * 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
這是我為解決問題所做的工作:
img.y = (1.0 - (1.0 / (((FlxG.mouse.screenY -offsetY) * .55 / 640) + 1.0))) * 640;
(它的工作原理幾乎與我上面發布的這一部分一樣)
img.y = mouseY -(mouseY * .7);
但是我要解決“捕捉”問題所需要做的就是從鼠標位置減去y偏移,du! ; D還是謝謝你!
有點需要更多的上下文,但是對我來說突出的一件事是這行:
x和y的所有原點位於左上角。
我只想仔細檢查一下javascript中x和y的原點的值是否在文檔/元素的正確上下文中...因此,它可能會對齊到對齊到“ true”(文檔左上角的原點)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.