Android遊戲之LogCat調試日誌系統

Android遊戲之LogCat調試日誌系統

APP調試最常用是『斷點調試』(break).但如果想睇大量數據變化則力有不逮.可以通Log()不斷把數據輸出到LogCat窗口以此觀察數據變化.通過『View->Tool Windows->Logcat』顯示Logcat窗口.更可以通過濾器隨時顯示5種特定信息.

函式 顏色 簡介
Log.d(String tag, String msg); 藍色 代表debug調試
Log.v(String tag, String msg); 黑色 代表verbose囉嗦之意.一般信息輸出
Log.i(String tag, String msg); 綠色 代表information提示性消息
Log.w(String tag, String msg); 藍色 代表warning警告信息
Log.e(String tag, String msg); 紅色 代表error錯誤消息

 

Android遊戲之Activity模板

Android遊戲之Activity模板

Android是Linux系統.於其上運行APP都是Linux進程.Android APP沒有main入口函式.所以Android系統啟動APP時以Main Activity作為APP入口點.要理解Android APP運行需理解Activity生命週期.睇上圖左邊從Create到Destroyed完成整個生命週期.

Activity.onCreate():在創建時Activity加載界面並分配資源,如讀取音頻和3D模型.只會在啟動時被調用一次.

Activity.onStart():在onCreate()之後被調用或onRestart()之後調用

Activity.onRestart():用於重置Activity在onStop()之後被調用.

Activity.onResume():用於恢復(總會被調用)Activity在onStart()之後被調用或onPause()之後被調用

Activity.onPause():暫停(總會被調用).當Activity進入後臺時被調用

Activity.onStop():停止.當APP進入後臺時被調用.在onPause()之後調用.

Activity.onDestroy():銷毀.當APP退出時調用.若調用onPause()或onStop()之後onDestroy()將不會被調用.

為讓遊戲結構變得簡單.只需重寫onCreate()、onResume()和onPause()三個函式.下面是用於遊戲開發MainActivity.java模板

public class MainActivity extends Activity {

@Override

protected void onCreate(Bundle savedInstanceState) {

// 初此遊戲資源

super.onCreate(savedInstanceState); //創建Activity時調用

setContentView(R.layout.main); // 把佈局填充給Activity

}

@Override

protected void onResume() {

// 恢復遊戲線程

super.onResume();

}

@Override

protected void onPause() {

// 暫停遊戲線程

super.onPause();

}

}

當你生成MainActivity.java文檔後需要在AndroidManifest.xml文檔中聲明為入口Activity

<activity android:name=”.MainActivity” android:label=”@string/app_name”>

<intent-filter>

<action android:name=”android.intent.action.MAIN” />

<category android:name=”android.intent.category.LAUNCHER” />

</intent-filter>

</activity>

Android Studio啟動Android應用

Android Studio啟動Android應用Debug
Android Studio啟動Android應用Variableh
Android Studio啟動Android應用
Android Studio啟動Android應用ADB
Android Studio啟動Android應用ADB

創建Android應用項目需要在手機上啟動.

  1. 對項目進行編譯工具欄Build/Mak Project
  2. 將手機與電腦連接(USB線)
  3. 設定/更多設定/開發者選項
  4. 啟動『開啟開發人員選項』
  5. 啟動『USB調試』連接USB後啟用偵錯模式
  6. 啟動『USB安裝』允許通過USB安裝應用
  7. 啟動『USB調試』(安全設定)允許通過USB調試修改權限或虛擬觸碰
  8. 編輯配置文檔Run->Edit Configurations->app->General
  9. Module選app
  10. Deploy選Default APK
  11. Launch選Default Activity
  12. Target選USB Device
  13. 在手機上啟動工具欄Run->Run

 

未能正確在手機上調試APP多為ADB(Android Debug Bridge)未正確安裝

  1. 下載Android SDK Platform-Tools(包含EXE)
  2. 系統『Path』變數必須需正確設置. 『%ANDROID_HOME%\platform-tools;%ANDROID_HOME%\tools;』
  3. 下載並正確安裝Google USB Driver.這點很重要很多時就是Android ADB Interface驅動無正確安裝.
  4. 『系統內容->硬體->裝置管理員->ADB Interface』若有嘆號則代表驅動未正確安裝
  5. 下載驅去頁Get the Google USB Driver 最新驅動Download the Google USB driver下載後解壓縮到D:\Android\usb_driver
  6. 最後強制安裝驅動.『系統內容->硬體->裝置管理員->ADB Interface->更新驅動程式->瀏覽電腦上驅動程式軟體(手動尋找並安裝驅動程式軟體)->讓我從電腦上裝置取動程式清單中挑選(此清單會顯示已安裝並且與裝置相容驅動程式軟體,以及與裝置屬￿同類別所有驅動程式軟體)->從磁片安裝->打開(USB drect)->選擇(Android ADB Interface)』

 

若ADB依然未能正確運行可嘗試手動重啟.win+r輸入CMD啟動命令行窗口

1.停止ADB服務

adb kill-server

2.啟動ADB服務

adb start-server

3.查看目前連接Android 設備

adb devices

Android Studio新建Android項目

Android Studio新建Android項目
Android Studio新建Android項目SDK
Android Studio新建Android項目Activity
Android Studio新建Android項目Build

Android Studio新建Project『項目』與Eclipse類似.下面將創建空項目用於遊戲製作.

  1. 啟動Android Studio
  2. 點擊Start a new Android Studio project
  3. Application name應用名使用全小寫如aa
  4. Company domain公司域名如net
  5. Project location工程目錄路徑D:\Android\aa
  6. Package name包名建議使用反向域名語法創建包名.『應用名+域名』以防Java類名衝突.按Edit輸入『bookcard.aa』
  7. 單擊NEXT選擇生成應用設備類型和SDK版本.設備類型有『手機』『平板』『穿戴設備』『電視』『汽車』『物聯網』
  8. 選擇Android SDK最新版本是API-28甘樣只有最新版本Android設備才能運行.而且Android向前(舊版本)兼容.所以你應儘量使用低版本SDK依度選擇API-14 Andorid4.0舊設備已經很難在市面見到.按Help me choose可查看Android各板本市場佔有率
  9. 安卓即時應用程序『Include Android Instant app support』無需勾選
  10. 單擊NEXT選擇模板.這裡選擇Empty Activity不含用戶界面只創建XML佈局
  11. 單擊NEXT生成主Activity文件.『Activity Name』填MainActivity 勾選『Generate Layout File』生成佈局文檔
  12. 『Layout Name』佈局名填main勾選Backwards Compatibility(AppCompat) 『向兼容』
  13. 最後單擊Finish生成Project

Android Studio導入Eclipse項目

Android Studio導入Eclipse項目
Android Studio導入Eclipse項目

雖然Eclipse ADT和Android Studio有不同目錄結構與配置.但可通過其自帶『Import Project』完成工程轉換

  1. 使用『Import Project(Gradle,Eclipse ADT,etc.)』導入Eclipse項目
  2. 選擇Eclipse項目目錄路徑『Select Eclipse or Gradle Project to Import』如G:\Android\aa
  3. 選擇導入目標目錄路徑『Import Destination Directory』如D:\Android\aa
  4. 若目錄不存在則生成『Directory Does Not Exist』
  5. 勾選Replace jars with dependencise,when possible『替換附屬jars』
  6. 勾選Replace library sources with dependencies,when possible『替換附屬Lib文檔』
  7. 勾選Create Gradle-style(camelCase)module names『創建漸變風格模塊名稱』
  8. 如果出現項目無法轉換 如properties Library reference .. could not be found只需要編輯project.properties刪掉無穩到Library即可
  9. 按Finish轉換項目

Android Studio下載與安裝

安裝JAVA
安裝Android Studio
安裝Android Studio
安裝Android Studio
Android Studio下載與安裝Path

以前開發Android遊戲一直使用Eclipse ADT插件進行.因為換左台新電腦覺得是時候轉入『Android Studio』懷抱.只因它是Google親生仔.而且已中止為Eclipse ADT插件和Android Ant編譯系統更新開發.而且Android Studio比起Eclipse啟動速度快很多(因為無需載入所有項目)

安裝JAVA

  1. 首先要下載Java SE(Standard Edition) Development Kit簡稱(JDK) 下載jdk-10.0.1_windows-x64_bin.exe(JDK10只有x64版本)
  2. 單擊開此安裝JDK,勾選『Public JRE』和『Development Tools』、『Source Code』
  3. 安裝路徑選擇默認即可C:\Program Files\Java\jdk-10.0.1\
  4. 為JAVA設定Windows環境路徑.按『Win + Pause Break』鍵打開『系統』/進階系統設定/環境變量/系統變數(S)/
  5. 按『新增』系統變數.『變數名稱』輸入JAVA_HOME『變數值』輸入JAVA安裝路徑『C:\Program Files\Java\jdk-10.0.1\』按『確定』保存
  6. 編輯『Path』系統變數追加『%JAVA_HOME%\bin;』 按『確定』保存

 

安裝Android Studio

  1. 打開下載 Android Studio頁面. Windows有x64安裝版android-studio-ide-173.4819257-windows.exe
  2. 單擊安裝Android Studio 並且確保電腦能連結互聯網.因為安裝過程需要下載所需文檔
  3. 構選Android Virtual Device
  4. 安裝路徑選擇默認即可C:\Program Files\Android\Android Studio
  5. 首次啟動會睇到Complete Installation對話框.因為是全新安裝勾選Do not import settings不導入設置
  6. 第一次啟動時若出現『Unable to access Android SDK add-on list』因為沒有安裝Android SDK.按Cancel後逐安裝
  7. 介面有Intellij和Darcula可選
  8. 勾選Android Virtual Device和Performance(Intel HAXM)HAXM是虛擬引擎加強運行x86 Android虛擬機表現
  9. 最後下載Android SDK完成安裝.要保正常連結com
  10. 為Android Studio設定Windows環境路徑.按『Win + Pause Break』鍵打開『系統』/進階系統設定/環境變量/系統變數(S)/
  11. 按『新增』系統變數.『變數名稱』輸入ANDROID_HOME『變數值』輸入Android SDK安裝路徑如『C:\Android\Sdk』. 按『確定』保存.如果你唔知SDK安裝路徑可同過『FILE->Other Settings->Default Project Structure->Android SDK location』睇到
  12. 編輯『Path』系統變數追加『%ANDROID_HOME%\platform-tools;%ANDROID_HOME%\tools;』 按『確定』保存
  13. 啟動Android Studio
  14. 下載『SDK Tools』按『File->Settings->Android SDK->SDK Tools』
  15. 勾選Android SDK Build-Tools
  16. 勾選Android SDK Platform-Tools
  17. 勾選Android SDK Tools
  18. 勾選Google Play APK Expansion library
  19. 勾選Google Play Licensing library
  20. 勾選Google Play services
  21. 勾選Google USB Driver
  22. 勾選Google WEB Driver
  23. 按Apply自動下載安裝

 

若在手機上調試APP必須正確安裝ADB

  1. 下載Android SDK Platform-Tools
  2. 系統『path』變數必須需正確設置.
  3. 下載並正確安裝Google USB Driver.
  4. adb.exe devices 查看是否正確連接手機

 

 

Android桌面已鎖定

Android桌面已鎖定

近日台Android電話在刪除或移動APP時,彈出『桌面已鎖定』大驚難道中毒?細想之下應該是桌面被鎖定,通過下面設定即可修復

  1. 打開『設定』
  2. 打開『系統和設備/桌面與近期任務』
  3. 禁用『桌面佈局/鎖定桌面佈局』

Android存儲空間不足

Android存儲空間不足
Android存儲空間不足

一般的Android存儲空間不足都是由於WebView的緩存和APP的下載的數據造成的,通過清理垃圾助手的工具一般可得到解決.但我遇到一個極端例子,把所有外加安裝的軟件刪除,在使用垃圾助手也會報存儲空間不足.它主要體現在果D使用WebView的應用無法打開圖片.後來我無意義之間得到修復.

  1. 設置/設備/應用/Google Play服務
  2. 結束運行
  3. 刪除

存儲空間不足的問題消失了.但我要警告.著是一個極端例子,而且此方法只適用於大陸被切割Google Play服務的Android手機,並且如造成系統的破壞與我無關.

Maya之斯普林菲爾德步槍

3D建模-斯普林菲爾德步槍
3D建模-斯普林菲爾德步槍
3D建模-斯普林菲爾德步槍
3D建模-斯普林菲爾德步槍
3D建模-斯普林菲爾德步槍
3D建模-斯普林菲爾德步槍

3D建模-斯普林菲爾德步槍

斯普林菲爾德步槍(Springfield rifle)由春田兵工廠研製,雖然它有個日本名,但其實是正宗的美國企業,直譯為斯普林菲爾德(Springfield)兵工廠,在1903年定型所以它的代號是M1903,在一戰與二戰其間美軍步兵的主要裝備.這次選用的照片是帶有刺刀的早期版本.通過這個Maya教程掌握單張照片進行3D建模技術.

  1. 在前視位置載入範本
  2. 切換視圖到正交前視圖(front)
  3. 網格/創建多邊形工具(Mesh/Create Polygon Tool)
  4. 沿著邊緣點擊放置連接點創建多邊形
  5. 做出外形的各部分,如果外形不完美也無需擔心,之後可以通過移動(Translate)頂點修正外形
  6. CTRL鍵+SHIFT鍵+選擇所有的邊多邊形形狀
  7. 把所有多邊形形狀結合(Combine)為一個物件
  8. 編輯網格/合拼頂點工具/選項(Edit Mesh/Merge Vertices Tool/Options),更改閥值(Threshold)設置為10
  9. 兩兩選擇接近的頂點結合
  10. 移動(Translate)並分割(Split)頂點儘量貼合模型
  11. 儘量造到是四邊形,如刺刀尖分割(Split)多一個頂點.
  12. F8選擇多邊形對像,擠壓(Extrude)出厚度
  13. 切換到正交頂視圖(top)
  14. 按F9拖動滑鼠選擇背部的所有頂點
  15. 選擇/轉化當前選選擇/到包含的面(Select/Convert Selection/To Contained Faces)
  16. 刪除背部所有的面(FACE)
  17. 按F9拖動滑鼠選擇前面的所有頂點
  18. 按R鍵進行縮放(SCALE),拖Y軸的放塊創造一個傾斜的邊緣.
  19. 移動(Translate)刺刀尖和托木的頂點另其有傾斜的邊緣.
  20. 在-Z軸鏡象幾何體(Mirror Geometry)
  21. 選擇中間的頂點合拼(Merge Vertices Tool)
  22. 使用晶格(Lattice)令步槍由托木到刺刀尖逐漸邊尖
  23. 刺刀(Merge Vertices)尖合拼为一个顶点
  24. 按住SHIFT鍵選擇模版(Template)與步槍,只對Z軸進行UV平面映射(UV Planar Mapping)
  25. 槍栓部份建模
  26. UV之自動映射
  27. 制作纹理草样

Google Android系統遭歐盟反壟斷指控

Google Android系統遭歐盟反壟斷指控
Google Android系統遭歐盟反壟斷指控

Google Android系統遭歐盟反壟斷指控

Google公司多年來壟斷互聯網搜索入口,互聯網廣告,移動作業系統,移動操作應用商店,移動廣告,移動應用直付,對廣告用戶和網站主很多蠻橫做法,等等,成為標準國際壟斷集團.

2016年4月20日歐盟盯上Android系統, 停止向手機廠商預裝Play Store (應用商店)發放補貼, 不再強制預裝其專有應用, 如果Google繼續這種壟斷行為,等待它的將是一筆高額罰款。罰款數額的計算將基於歐洲用戶點擊AdWords廣告,通過Google搜索產品進行搜索,通過GooglePlay商店購買應用,以及AdMob應用內廣告產生的營收。

 

這次反壟斷調查起源於遊說團體 FairSearch 在 2013 年發起的投訴。FairSearch是一家于2010年成立的反Google聯盟.Google在搜索引擎領域壟斷地位, 令多家公司團結起來成立FairSearch, 避免Google繼續壟斷整個搜索領域, FairSearch此前就對Google提起過多項指控。