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

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

 

   在上一篇文章中咱們咱們已經使用Cocos-Console工具生成了工程,本機生成的目錄爲:「D:\CocosProject\Tutorial」。咱們進入該目錄中,以下圖:android

       image

    本篇文章咱們將使用Cocos2d-x引擎寫一個最簡單的工程——「Hello world」。咱們將使用VS2012進行win32程序的開發,而後使用ADT生成Android的APK程序,固然咱們也能夠使用Cocos-Console來生成APK程序。接下來我會對生成的工程中的文件作一個簡單的說明並介紹兩種生成APK的方式。windows

 

工程文件夾介紹eclipse

  • 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的代碼。我就不把它刪了再寫了,看一看就能明白了。代碼以下:this

  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行是調用基類的初始化函數對層進行初始化,第十、11行獲取可視化區域的尺寸和原點,第13-20是建立左下方的退出菜單22-25是在屏幕中心建立一個文本標籤「Hello world」, 27- 29建立了一個精靈(Sprite)對象在屏幕中心。咱們直接編譯運行看結果吧。spa

image

生成APK3d

  • 使用ADT生成APK

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

       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

相關文章
相關標籤/搜索