Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> cocos2dx Android游戲截屏分享

cocos2dx Android游戲截屏分享

編輯:關於Android編程

原創作品,轉載請注明:http://blog.csdn.net/ymook/article/details/19996061

在游戲開發中,游戲截屏,並一鍵分享的功能是必不可少的,這樣,更多的玩家就會聚集過來。

這篇文章是我接著上一篇文章cocos2dx 植入友盟分享功能 來寫的。不過很多東西也是可以獨立使用的,現在給大家分享一下。
首先,我描述一下這個截屏並分享的整體流程: 1.點擊截屏按鈕調用截屏函數getScreenPic(); 在win32平台下,其截屏圖片保存的路徑是Debug.win32文件夾下。 在Android平台下,其保存路徑是data文件夾下(該路徑是私有路徑)。 2.將該圖片從data私有路徑下拷貝出來放到我們自己指定的SD卡路徑; 3.將圖片從SD卡路徑中提取出來上傳到網絡服務器,以便於公眾浏覽。
詳細說明: 1.getScreenPic()寫法如下(Native層):
void FruitGameLayer::getScreenPic() { CCSize size = CCDirector::sharedDirector()->getWinSize(); //定義一個屏幕大小的渲染紋理 CCRenderTexture* pScreen = CCRenderTexture::create(size.width,size.height, kCCTexture2DPixelFormat_RGBA8888); //獲得當前的場景指針 CCScene* pCurScene = CCDirector::sharedDirector()->getRunningScene(); //渲染紋理開始捕捉 pScreen->begin(); //當前場景參與繪制 pCurScene->visit(); //結束捕捉 pScreen->end(); //保存為png pScreen->saveToFile("gameScreen.png", kCCImageFormatJPEG); CC_SAFE_DELETE(pScreen); }
2.拷貝圖片代碼如下(Java層):
//拷貝截圖 public static String CopyGameScreenPic(String picName) throws IOException { boolean sdExist = Environment.getExternalStorageState().equals(android.os.Environment.MEDIA_MOUNTED); if(sdExist) { //設置圖片拷貝後的存儲路徑 String pathString=Environment.getExternalStorageDirectory()+"/mnt/sdcard/" ; File f1=new File(pathString); if(!f1.exists()) { f1.mkdirs(); } String path = pathString+picName; File share = getContext().getFilesDir().listFiles()[0]; InputStream is = new FileInputStream(share); FileOutputStream os = new FileOutputStream(path); byte[] buffer = new byte[1024]; int count = 0; while ((count = is.read(buffer)) > 0) { os.write(buffer, 0, count); } is.close(); os.close(); return path; } return "/mnt/sdcard/"; } 3.好了,我們就可以用各種第三方接口從SD中提取出圖片並分享了這些接口的實現方式可以通過使用新浪微博、微信、騰訊微博、QQ空間等平台的開發API。而我使用的友盟社會化組件是集成了上述所有平台SDK的一個SDK,非常方便,具體實現方法,參照上篇 cocos2dx 植入友盟分享功能 。至此cocos2dx游戲開發中,截屏並在各大平台的分享功能實現過程已完成,謝謝大家的關注!
  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved