Transition 測試
在玩 WeSpot 時, 按遊戲開始或由一個畫面轉到另一個畫面, 會有一個很cool 的轉移畫面, 一直在想是怎麼做的呢? 後來才知道, 是用了 LKAnimation.
剛找到參考, 馬上試試用.
附件是代碼包和app, 測試時, 只要用手指點一下螢幕, 就會出現一種效果, 一共有19種效果之多呢!
看看LKAnimation 的設定:
复制内容到剪贴板
代码:
LKAnimation *animation = [LKTransition animation];
[animation setType: effects[mCurr]];
[animation setSubtype: subtype[rand()%4]];
[animation setTimingFunction: [LKTimingFunction functionWithName: @"easeInEaseOut"]];
[animation setFillMode: @"extended"];
[animation setTransitionFlags: 3];
[animation setSpeed: 0.20];
[[self _layer] addAnimation: animation forKey: 0];其中 [animation setType: effects[mCurr]] 的參數是一個字串, 字串可以是下列的其中一個:
引用:
- pageCurl: 舊版面像一頁書那樣被揭開, 顯示下面的新版面.
- pageUnCurl: 新版面像一頁書被翻過來覆蓋舊版面.
- suckEffect: 舊版面在螢幕下方中間位置被吸走, 顯示出下面的新版面.
- spewEffect: 新版面在螢幕下方中間位置被釋放出來覆蓋舊版面.
- genieEffect: 舊版面在螢幕左下方或右下方被吸走, 顯示出下面的新版面 (阿拉丁燈神?).
- unGenieEffect: 新版面在螢幕左下方或右下方被釋放出來覆蓋舊版面.
- twist: 版面以水平方向像龍捲風式轉出來.
- tubey: 版面垂直附有彈性的轉出來.
- swirl: 舊版面360度旋轉並淡出, 顯示出新版面.
- rippleEffect: 新版面以水波方式顯示出來.
- cameraIris: 舊版面被鏡頭快門關走, 鏡頭快門然後開出新版面.
- cameraIrisHollow: 同上, 但舊版面在鏡頭快門沒關時就消失了.
- cameraIrisHollowOpen: 鏡頭快門一開始已關上, 快門打開顯示新版面.
- cameraIrisHollowClose: 鏡頭快門關上而並不打開.
- charminUltra: 舊版面淡出並顯示新版面.
- zoomyIn: 新版面由小放大走到前面, 舊版面放大由前面消失.
- zoomyOut: 新版面螢幕外面縮放出現, 舊版面縮小消失.
- oglApplicationSuspend: 像按"home" 按鈕的效果>.
- oglFlip: 新版面轉出來.
setSpeed 的參數, 可以由 0.0 (不動) 到大約 5.0 (馬上出現), 數值越小越慢.
LKTimingFunction 的參數也是一個字串, 可以是以下三個之一:
引用:
- easeInEaseOut: 前段和後段動畫各佔一半時間.
- easeIn: 後段動畫較快.
- easeOut: 前段動畫較快.
[
本帖最后由 dr_watson 于 2008-3-19 12:03 编辑 ]