程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> cocos2d-x學習筆記番外篇04:開發問題匯總01

cocos2d-x學習筆記番外篇04:開發問題匯總01

編輯:關於C語言

1.使用自動適配的HD模式,沒法加載資源


再現方法: 開啟HD適配
  1. pDirector->enableRetinaDisplay(true); 
提供了HD資源,但沒有提供SD資源,例如:提供了XXXX-hd.png,但沒有提供普通的XXXX.png。注意該錯誤復現率不穩定,必須刪除手機中的軟件,並且clean項目後才有高幾率復現。
現象: 在HD手機上加載資源失敗,游戲直接卡死
分析: 調試發現fullPathFromRelativePath沒法獲得正確的路徑只是直接返回了傳參給他的文件名
結論: 必須同時提供HD和SD兩套圖           
2.CCMenu自動適配界面錯亂
再現方法: 使用CCMenu的自動布局函數,適配臨時資源圖片,然後換用了更大的圖片資源
現象: item按鈕位置互相疊加
分析: cocos2d-x的CCMenu有一些很方便的自動布局函數,如alignItemsXXX等,在資源圖片足夠小的時候,使用這些函數沒有關系,如果圖片大,在適配時很可能出現位置重疊.   結論: 不怕麻煩的話,手動控制布局最好   3.XCode4.2,iTouch2 4.21系統,完全默認配置,建hello world,5.01的touch4能跑,4.21的touch2跑不了   再現方法: 在XCode4.2下,用cocos2d-x模版建立helloworld,插上touch2後,點run,編譯成功,但是手機上沒有任何反應   現象: 手機沒有任何反應,控制台也沒有輸出,在設備控制台上,會有類似下面內容:
  1. unknown lockdownd[16] <Error>: 2ff68000 handle_connection:             Could not receive USB message #6 from Xcode. Killing connection 
    分析: 老版iOS,主要指5.x之前,和5.x的編譯參數不同,主要是armv6和armv7的區別,首先按照這個帖子檢查自己的設置: http://stackoverflow.com/questions/6378228/switching-from-xcode3-to-xcode4-cant-load-programs-onto-older-ipod-touch   確認無誤後,在building setting裡面的Architectures中,添加參數armv6   結論: 最好每個項目在新建時都如此添加,防止忘記     4.如何禁止iOS屏幕自動旋轉 在重力感應游戲中,經常會造成屏幕自動旋轉的情況,這樣會造成屏幕倒置,對操作造成不便,禁止重力感應的方法是:   在“項目/ios/RootViewController.mm”中,找到如下函數
  1. - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { 
  2. //     return UIInterfaceOrientationIsLandscape( interfaceOrientation ); 
  3.      return interfaceOrientation == UIInterfaceOrientationPortrait;   //填寫你需要鎖定的方向參數 
  4.     // switch to this line if you want to set portrait view 
  5.     // return UIInterfaceOrientationIsPortrait( interfaceOrientation ); 
 感謝6群的朋友提供這個方法,我之前知道一個修改引擎源碼的方法,這個不用改引擎源碼,只改項目代碼。

 

本文出自 “老G的小屋” 博客,請務必保留此出處http://4137613.blog.51cto.com/4127613/819677

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved