推薦閱讀:
1.功能描述
在關卡很多的遊戲裏面,我們一般使用滑動來向玩家展示所有的關卡,爲了清楚的讓用戶看到自己當前所在的關卡,通常會在該關卡旁顯示用戶頭像或其他信息。
2.示例
例如:在開心消消樂中,就採取了這種方式,在屏幕上上下滑動,可查看所有關卡,當玩家解鎖的關卡發生變化後,會自動同步頭像位置。
今天,就帶大家瞭解一下該功能如何實現吧。
3.UI搭建
首先。我們創建一個ScrollView,content下面是滑動可查看的內容,這裏我們需要放上背景圖片(假設背景圖是由三張圖片構成的sp1,sp2,sp3),關卡圖標(這裏假設有11個關卡),頭像信息(userInfo)
注意:一定要保證關卡圖標和頭像信息的父物體爲同一個,不然後面計算位置會出錯。
4.代碼實現
接下來,代碼實現頭像位置的同步
思想:頭像的x=關卡圖標的x;頭像的y=關卡圖標的y+關卡圖標高+10(+10的目的是讓頭像和關卡圖標中間留有一定的空隙)
let x, y;
if (index > -1) {
//當前關卡存在
x = self.levArr[index].position.x;
y = self.levArr[index].position.y + self.levArr[index].getContentSize().height / 1.1;
}
self.uiRoot.userInfo.setPosition(x, y);
到此位置,我們就實現了關卡的上下滑動查看以及頭像位置的同步了,是不是很簡單呢~~