asysbang

 找回密码
 立即注册
查看: 7354|回复: 1
打印 上一主题 下一主题

入门教程

[复制链接]

520

主题

2

好友

6551

积分

管理员

Rank: 80Rank: 80Rank: 80Rank: 80Rank: 80

最佳新人 活跃会员 热心会员 推广达人 宣传达人 灌水之王 突出贡献 优秀版主 荣誉管理 论坛元老

跳转到指定楼层
楼主
发表于 2013-6-5 11:55:59 |只看该作者 |倒序浏览
本地环境
ubuntu:11.04 -32位
ndk:android-ndk-r8e
gcc:4.5.2


1、下载Cocos2d-x

      http://cocos2d.cocoachina.com/download


2、编译samples/Cpp/HelloCpp

      运行proj.android/build_native.sh生成libhellocpp.so

            遇到问题
            /home/test/android-ndk-r8/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin/../lib/gcc/arm-linux-androideabi/4.4.3/../../../../arm-linux-androideabi/bin/ld: Dwarf Error:
            mangled line number section.

           这个是本地gcc版本和ndk不一致导致的问题
           解决办法:下载最新的ndk :android-ndk-r8e
   
3、运行apk

      先把cocos2d-2.1rc0-x-2.1.2/cocos2dx/platform/android/java 这个导入到eclipse

       再把HelloCpp导入eclipse运行(因为project.properties 里面定义了android.library.reference.1=../../../../cocos2dx/platform/android/java)      

4、修改main.cpp

      例如添加LOGD("add log just for test");   需要重新运行build_native.sh 才能生效


5、创建自己的项目

      修改create-android-project.sh配置本地的NDK_ROOT_LOCAL和ANDROID_SDK_ROOT_LOCAL

      运行create-android-project.sh 根据提示完成项目创建

      运行自己的项目,需要把android:icon修改下。。。。。


回复

使用道具 举报

520

主题

2

好友

6551

积分

管理员

Rank: 80Rank: 80Rank: 80Rank: 80Rank: 80

最佳新人 活跃会员 热心会员 推广达人 宣传达人 灌水之王 突出贡献 优秀版主 荣誉管理 论坛元老

沙发
发表于 2013-10-22 17:01:09 |只看该作者
cocos2d-x-2.2创建项目

cocos2d-x-2.2/tools/project-creator/   下面create_project.py
Usage: create_project.py -project PROJECT_NAME -package PACKAGE_NAME -language PROGRAMING_LANGUAGE
Options:
  -project   PROJECT_NAME          Project name, for example: MyGame
  -package   PACKAGE_NAME          Package name, for example: com.MyCompany.MyAwesomeGame
  -language  PROGRAMING_LANGUAGE   Major programing lanauge you want to used, should be [cpp | lua | javascript]

Sample 1: ./create_project.py -project MyGame -package com.MyCompany.AwesomeGame
Sample 2: ./create_project.py -project MyGame -package com.MyCompany.AwesomeGame -language javascript



创建成功:(创建的是Cpp程序)
New project has been created in this path: /home/xxxx/coco2d-x/cocos2d-x-2.2/projects/MyGame
Have Fun!

创建成功,还是执行proj.android下面build_native.sh 生成so,然后载入项目到eclipse运行(可以考虑用makefile或者ant编译生成apk)



分析项目目录结构
proj.xxxx目录   这个只是一个“壳”,里面的资源保证能够生成对应平台的应用程序

Classes  这个目录里面才是最重要的代码

               android应用的“壳”,回调用so库,而库文件会调用AppDelegate     进而调用cocos2d的CCDirector  CCScene 等类     

Resources  这个目录存放所有资源 (注意执行build_native.sh 会把proj.android下面的asset删掉,然后把Resources目录下面的重新拷贝过去)




修改:
1、去掉左下的FPS
      Classes/AppDelegate.cpp  中pDirector->setDisplayStats(true);     true  改成 false  即可
2、添加log
      CCLOG("=======%s=", "log");
3、添加menu
         CCMenuItemImage *menu1 = CCMenuItemImage::create("Images/r1.png", "Images/r2.png", this, menu_selector(HelloWorld::mymenu) );
         menu1->setPosition(ccp(origin.x + visibleSize.width /2 , origin.y + menu1->getContentSize().height/2));
         CCMenu* pMenu = CCMenu::create(pCloseItem,menu1, NULL);
4、切换场景
         参考HelloWorldScene.cpp和HelloWorldScene.h  写一个MyScene.cpp和MyScene.h
         修改上面添加的menu的函数
         CCScene *pScene = MyScene::scene();
         CCDirector::sharedDirector()->replaceScene(pScene);
         (注意在proj.android/jni/Android.mk   中添加   ../../Classes/MyScene.cpp \  )

5、添加可以滑动的精灵
      参考cocos2d-x-2.2/samples/Cpp/TestCpp/Classes/TouchesTest/Paddle.cpp 在场景中添加一个可以滑动的精灵

6、添加按钮
      主要用了CCControlButton这个类
     参考EdxtensionsTest/ControlExtensionTest/CCControlButtonTest/CCControlButtonTest.cpp




回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

Archiver|手机版|aSys-帮 ( 京ICP备13033689号 )

GMT+8, 2026-1-28 22:17 , Processed in 0.043992 second(s), 19 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部