Cocos2d-x v3.1 Hello world程序(四)


Cocos2d-x v3.1 Hello world程序(四)

 

   在上一篇文章中我們我們已經使用Cocos-Console工具生成了工程,本機生成的目錄為:“D:\CocosProject\Tutorial”。我們進入該目錄中,如下圖:

       image

    本篇文章我們將使用Cocos2d-x引擎寫一個最簡單的工程——“Hello world”。我們將使用VS2012進行win32程序的開發,然后使用ADT生成Android的APK程序,當然我們也可以使用Cocos-Console來生成APK程序。接下來我會對生成的工程中的文件做一個簡單的說明並介紹兩種生成APK的方式。

 

工程文件夾介紹

  • Classes: 主要存放我們CPP文件。
  • CMakeFiles: 存放CMake的臨時文件。
  • cocos2d: 引擎的源代碼目錄。
  • proj.android: android項目目錄,使用ADT導入。
  • proj.iso.mac:XCode的項目目錄。
  • proj.linux:linux項目目錄,主要用於在linux下生成程序。
  • proj.win32: Windows項目目錄,VS2012工程目錄。
  • proj.wp8-xaml:Win8項目目錄,VS2012工程目錄,使用C#進行開發。
  • Resource:資源目錄,用於存放貼圖、音頻、地圖等一些游戲中使用的資源,我們從CocoStudio中導出的資源也要放入此目錄。

工程文件介紹

       image

  • AppDelegate.*文件:程序的引擎的啟動文件,由main.*文件中的程序入口函數_tWinMain構造的對象並調用的run函數。
  • HelloWorldScene.*文件:主場景文件,我們的“Hello world”代碼也在這里寫。
  • main.*文件:程序入口函數所在文件。

編寫Hello world程序

    打開HelloWorldScene.cpp,找到“init”函數,其實在里面都已經有了Hello world的代碼。我就不把它刪了再寫了,看一看就能明白了。代碼如下:

  1: bool HelloWorld::init()
  2: {
  3:     //////////////////////////////
  4:     // 1. super init first
  5:     if ( !Layer::init() )
  6:     {
  7:         return false;
  8:     }
  9:     
 10:     Size visibleSize = Director::getInstance()->getVisibleSize();
 11:     Vec2 origin = Director::getInstance()->getVisibleOrigin();
 12:    
 13:     auto closeItem = MenuItemImage::create(
 14:                                            "CloseNormal.png",
 15:                                            "CloseSelected.png",
 16:                                            CC_CALLBACK_1(HelloWorld::menuCloseCallback, this));
 17:  
 18:     auto menu = Menu::create(closeItem, NULL);
 19:     menu->setPosition(Vec2(origin.x + visibleSize.width - closeItem->getContentSize().width/2 , origin.y + closeItem->getContentSize().height/2));
 20:     this->addChild(menu, 1);   
 21:     
 22:     auto label = LabelTTF::create("Hello World", "Arial", 24);
 23:     label->setPosition(Vec2(origin.x + visibleSize.width/2,
 24:                             origin.y + visibleSize.height - label->getContentSize().height)); 
 25:     this->addChild(label, 1);
 26:    
 27:     auto sprite = Sprite::create("HelloWorld.png");   
 28:     sprite->setPosition(Vec2(visibleSize.width/2 + origin.x, visibleSize.height/2 + origin.y));   
 29:     this->addChild(sprite, 0);
 30:     
 31:     return true;
 32: }

    第5行是調用基類的初始化函數對層進行初始化,第10、11行獲取可視化區域的尺寸和原點,第13-20是創建左下方的退出菜單22-25是在屏幕中心創建一個文本標簽“Hello world”, 27- 29創建了一個精靈(Sprite)對象在屏幕中心。我們直接編譯運行看結果吧。

image

生成APK

  • 使用ADT生成APK

       1.打開ADT目錄找到eclipse的啟動文件(本機目錄:D:\Cocos\adt-bundle-windows-x86\eclipse)雙擊eclipse.exe打開開發環境。

       2.執行“文件”->“導入”,如下圖:

         image

      3.選擇我們生成的工程目錄(本機目錄為:D:\CocosProject\Tutorial)

        image

     4.點擊完成

        image

  • 使用Cocos-Console生成APK

     打開CMD進入到工程目錄(本機目錄為:D:\CocosProject)。輸入如下命令:“cocos run –s ./Tutorial –p android –m release”。

      image

    編譯可能會花費很長的時間。當編譯完后,我們會再proj.android目錄下的bin目錄里找到生成的APK(本機目錄:D:\CocosProject\Tutorial\proj.android\bin)。

     image


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM