cocos2dx-3.3版本安卓環境配置以及螢幕適配

來源:互聯網
上載者:User

標籤:

  在新的版本下,一些解決方案也隨之不同。今天就遇見兩個需要注意的地方,第一個是安卓環境新的配置方法;第二個是解析度的設定與適配。

  先說新的配置方法。其實本質上我感覺和2.2.2版本的配置方案是差不多的,只不過更加簡單了(不用再手動的配置NDK了)。配置方法在官網上也有:http://cocos2d-x.org/programmersguide/B/index.html,不過其中也有些需要注意,故作整理。

  比起以前的配置方法,要多做兩個步驟(這兩個步驟具體為何,我尚不清楚,不過感覺無妨):

  1.添加JAVA_HOME環境變數,內容是jdk的目錄;

  2.下載解壓ANT,添加其根目錄下bin目錄到PATH環境變數。:http://pan.baidu.com/s/1i3szmEp

  接下來在命令列下運行引擎根目錄下的setup.py,根據提示,設定NDK, Android SDK, ANT的目錄,這裡要注意的是,ANT的配置目錄不是其根目錄,而是其根目錄下的bin目錄。之後,在Elipse下面添加、運行項目的方式和以前是一樣的。但這裡又會出現問題。我在實際運行中,出現了編譯錯誤:format not a string literal and no format arguments [-Werror=format-security],出錯的代碼是:sprintf(buf, lessons[i]); 即一個非常普通的c語言代碼。通過網上查閱才解決了問題,據說是NDK與Eclipse的版本不相容問題,只要在對應項目的Application.mk添加一句APP_CFLAGS += -Wno-error=format-security就可以了,意思是無視這個error。

  問題還沒有結束,接下來的問題也是本文最開始提出的第二個注意點:解析度的設定與適配。在安卓環境下成功編譯好項目並運行後,發現螢幕顯示歪曲,並且沒有觸摸反應。最後也是在網上查閱才找到原因。

  新版本中好像沒有設定螢幕解析度的代碼,採用了預設模式(舊版本中是在main函數中設定的)。解決方案是,在AppDelegate.cpp裡,添加一行代碼:

glview->setDesignResolutionSize(640,480, kResolutionShowAll);

  還要還注意的是:

  1.似乎不能用setFrameSize函數了,不然還會出現問題;

  2.這其實是一個解析度適配的代碼,並不是遊戲視窗大小的設定。因此後續學習肯定還有問題。。

cocos2dx-3.3版本安卓環境配置以及螢幕適配

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.