iPhone遊戲編程 啟動畫面執行個體介紹是本文要介紹的內容,主要介紹怎樣為你的程式加一些“鈴和哨”註:指一些附加的花哨的東西)是你的遊戲顯得更完整。首先,我們為遊戲增加一個啟動頁面。
建立啟動頁面
我們加入的啟動頁面將淡出到遊戲主畫面。你可以下載此映像加入到項目的Resources資源)檔案夾中。 請選擇複選框中“copy this image to the project’s directory拷貝此 映像至項目目錄)”選項。
我們需要加入一個View Controller到我們的項目,它將負責處理啟動畫面視圖。在你的項目中加入一個新的UIViewController的子類檔案。取名為SplashViewController,同時選擇建立.h檔案。
然後,我們要改變AppDelegate以載入此View Controller而不是原來的Main View Controller。開啟iTennisAppDelegate.h修改如下:
主要是將iTennisViewController替換為SplashViewController。接著,開啟iTennisAppDelegate.m做如下修改:
這裡我們所作的也只是將iTennisViewController替換為SplashViewController。這是因為我們希望開始時載入啟動頁面而不是遊戲主畫面。這裡需要注意的一個主要區別是我們分配了一個新的SplashViewController執行個體。我們不需要對iTennisViewController這樣做是因為它是從nib檔案中載入而由程式本身對它進行初始化的。由於我們是通過編程來建立SplashViewController(沒有nib), 所以需要將其執行個體化。接著我們就要實現SplashView。開啟SplashViewController.h加入以下代碼:
我來解釋一下我們到底做了什麼。首先,我們看到一個NSTimer。它被用於在啟動畫面淡出到遊戲主畫面前啟動畫面保持顯示的時間。接著,有一個UIImageView,它將提供啟動畫面的映像。
最後,我們看到iTennisViewController,這是被程式代理替換掉的視圖控制器。我們將從啟動視圖中載入它。開啟SplashViewController.m 加入下列代碼:
這隻是用來合成所有的屬性。在loadView方法中加入下面代碼:
這裡有很多新代碼。首先,由於是通過編程而不是通過nib來載入視圖,我們必須建立視圖。我們使用運行程式的架構frame)來建立一個新的視圖。然後將SplashViewController的視圖設定到這個剛建立的視圖。我們必須建立一個架構來通知應用程式建立一個320×480的視圖。
下面,我們用Splash.png映像建立splashImageView。我們還需要為這個映像建立一個架構。將此架構想象成一個空的容器,我們將把映像放在裡面。接著,我們把imageview加入主視圖。然後,我們通過將要載入的nib的檔案傳遞給視圖的主控制器而對其進行初始化。再把視圖的alpha透明性設為0.0。這樣,它就會完全不可見。最後,我們將其加到我們的視圖中。請注意,此時它覆蓋在splashImageView的上方,但由於alpha透明值為0.0,它仍然不可見。
最後,啟動定時器。這樣,在調用“fadeScreen”方法前,啟動螢幕將顯示2秒鐘。必須指出我是從這篇文章借用的fadescreen方法。
加入下面代碼:
此代碼中包括很多動畫。由於註解很詳細,我就不過多涉獵了。在fadeScreen方法中視圖淡出,然後調用finishedFading。finishFading方法使視圖控制器的視圖重新淡入。主視圖將顯示出來。記住從父視圖中移除啟動屏視圖,否則你會看到奇怪的畫面過度效果。
原始碼下載
小結:iPhone遊戲編程 啟動畫面執行個體介紹的內容介紹完了,希望本文對你有所協助!