天天看點

瘋狂ios講義瘋狂連載之實作遊戲視圖控制器

前面已經給出了遊戲界面的布局檔案,該布局檔案需要使用一個視圖控制器來負責顯示。除此之外,視圖控制器還需要為遊戲界面的按鈕事件提供事件監聽器。

下面是該程式的視圖控制器類的代碼。

程式清單:codes/13/Link/Link/FKViewController.m

該視圖控制器在viewDidLoad方法中建立了FKGameView和FKGameService對象,其中FKGameView負責繪制遊戲界面,而FKGameService則負責維護遊戲的狀态資料和遊戲的業務邏輯功能,程式将FKGameService設定為FKGameView的一個屬性,這樣即可讓FKGameView通過該FKGameService對象來繪制程式界面。

由于FKGameView需要調用FKViewController的方法來判斷輸赢,是以,程式先在FKGameView中定義了一個FKGameViewDelegate協定,然後FKViewController實作該協定,并将自身設定成FKGameView的委托對象。

除此之外,該程式為了控制時間流逝,定義了一個計時器,該計時器每隔1秒觸發一次,程式将會根據該觸發器減少遊戲的剩餘時間。上面的程式中,startGame方法内的粗體字代碼負責啟動計時器。

——————本文節選自《瘋狂ios講義(上)》

瘋狂ios講義瘋狂連載之實作遊戲視圖控制器

繼續閱讀