切割翻頁效果(一)

2021-09-01 03:18:38 字數 864 閱讀 3089

前段時間根據朋友的乙個提議做了個翻頁動畫。效果跟水果忍者切割相似。如圖

效果過程大致如下:

1)根據手勢痕跡將當前分割為兩部分;

2)將分割後的拉開一段距離,並適度放大,以模擬向螢幕外彈起效果,同時露出底層;

3)錯位移動分割後的;

首先遇到的問題是如何對進行分割。我選擇採用canvas.clippath來實現;採用這種方法就要先確定path中各個節點的座標;

起初我嘗試利用分割線與邊的交點,以及的頂點來確定path;

如下圖:

通過觀察,卻發現交點可以落在任意兩條不同的邊上,而且落點不同與其構成path的頂點也不同,情況複雜,於是我果斷放棄,另謀他路。一番嘗試後,我決定採用以下方式;

設mhw為對角線的斜率,mslope分割線的斜率;;

將切割情況分為,mslope大於還是小於mhw兩種情況進行處理;

先看mslope大於mhw的情況,如圖:

點mdown 和mup分別表示手指按下和彈起時的位置,兩點所在直線即為分割線。分割線與x=-mwidth,x=2mwidth分別交於mx0 和mxw;顯然兩點座標可以輕鬆得到:

private void calcpoints()
這樣,被分割的兩部分路徑就總是可以用圖中part1,part2 兩個三角形確定。

part1的路徑為:

if (math.abs(mslope) > mhw)  else 

}

part2的路徑為:

if (math.abs(mslope) > mhw)  else 

}

而當切割線斜率小於mslope時,情況與此相似,就不一一贅述了。

jquery無重新整理翻頁,無翻頁效果

前台 名稱 nc2 httputility.urlencode 值 class lk mw 更多 一般處理程式 using system using system.collections using system.data using system.web using system.web.serv...

vue element 翻頁載入 效果

自己放乙個 在上面 這裡做乙個假分頁,就是資料一次性拿到手,然後去處理資料進行分頁,做兩個陣列,乙個是渲染 的陣列 乙個是獲取到的資料的陣列 然後我們這裡面直接引用一下element裡面的分頁布局,我們選那個功能比較全面的,有條數選擇。current change handlecurrentchan...

Iphone實現簡單翻頁效果

經常看到iphone的軟體向上向下翻頁面的效果,其實這個很簡單,已經有封裝好的相關方法處理。首先設定動畫的相關引數 uiview beginanimations curl context nil uiview setanimationduration 1.25 時間 uiviewsetanimati...