Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android游戲 >> Android游戲開發 >> Android 2048游戲開發教程(三):創建界面

Android 2048游戲開發教程(三):創建界面

編輯:Android游戲開發

  首先,我們要使得我們的程序能夠判斷用戶的手勢,一共為上、下、左、右四種。在GameView類中添加如下代碼:

Android 2048游戲開發教程(三):創建界面

  接下來,我們來分析一下如何進行手勢判斷。首先,用戶的手勢輸入應該有兩個數據,一個是按下的屏幕位置,一個是放開的屏幕位置。那麼我們只需要計算橫向和豎向坐標差的絕對值,絕對值較大的一個方向則是用戶需求的方向。至於橫向中的左右和豎向中的上下,我們可以通過按下和放開的位置的大小進行比較得出。

  有了上面的分析,我們開始寫代碼:

Android 2048游戲開發教程(三):創建界面

  運行程序,進入調試界面,如下圖所示:

Android 2048游戲開發教程(三):創建界面

  在窗口中用鼠標左滑,查看Android Studio中右下角Logcat窗口中的輸出信息如下:

Android 2048游戲開發教程(三):創建界面

  說明我們的觸摸檢測已經成功了,接下來我們將四條輸出語句換成四個函數。如下圖所示:

Android 2048游戲開發教程(三):創建界面

  除此之外,我們還需要定義這四個函數,代碼如下:

Android 2048游戲開發教程(三):創建界面

  至於其中的處理方法,我們將在後續的章節中介紹。至此,我們的GameView框架基本能完成了。

  接下來,我們使用上一節中的方法,創建一個Card類(用來顯示游戲中的小方塊以及其上的數字),並且讓它繼承自FrameLayout,同時添加構造函數。如下圖所示:

Android 2048游戲開發教程(三):創建界面

  此外,我們還需要創建幾個私有成員變量,保存每張卡片上面的數字以及其它的一些信息:

Android 2048游戲開發教程(三):創建界面

  接下來,我們還需要定義一個變量,用來顯示文字,這裡我們選用TextView,代碼如下:

Android 2048游戲開發教程(三):創建界面

  接下去我們需要添加一些函數用來判斷兩個Card的值是否相等,以方便後期的折疊操作:

Android 2048游戲開發教程(三):創建界面

  至此,我們游戲的基本元素已經基本完成, 接下來我們需要進行組裝。首先,我們需要獲得卡片的寬高,這是由於不同手機分辨率不同,為了適配各類型的手機。在GameView中添加如下代碼:

Android 2048游戲開發教程(三):創建界面

  除此之外,我們還需要添加一個addCards函數,將卡片添加進來:

Android 2048游戲開發教程(三):創建界面

  接著,我們需要將這個GameView調整為每行四列,在initGameView中添加如下代碼:

Android 2048游戲開發教程(三):創建界面

  此時,我們可以運行來看一下效果:

Android 2048游戲開發教程(三):創建界面

  至此,我們已經完成了加入卡片的功能,接下來,我們需要使得卡牌居中放置,切換到Card類,修改構造函數代碼如下:

Android 2048游戲開發教程(三):創建界面

  再測試一下,結果如下:

Android 2048游戲開發教程(三):創建界面

  接下來,我們需要添加背景,首先在GameView的initGameView中添加如下代碼:

Android 2048游戲開發教程(三):創建界面

  然後,我們為卡片設置背景,切換到Card的構造函數,添加如下代碼:

Android 2048游戲開發教程(三):創建界面

  運行結果如下:

Android 2048游戲開發教程(三):創建界面

  顯示效果如上圖,我們發現卡牌直接沒有空格,看起來非常的緊湊,我們可以在Card類中這樣修改代碼:

Android 2048游戲開發教程(三):創建界面

  再次運行程序,如下圖所示:

Android 2048游戲開發教程(三):創建界面

  在下一節中,我們將介紹游戲的內部邏輯。

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved