按 Eclipse 开发喜好重新布置 cocos2dx 目录层次

发布时间:2016-12-6 10:50:47 编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"按 Eclipse 开发喜好重新布置 cocos2dx 目录层次",主要涉及到按 Eclipse 开发喜好重新布置 cocos2dx 目录层次方面的内容,对于按 Eclipse 开发喜好重新布置 cocos2dx 目录层次感兴趣的同学可以参考一下。

【tonyfield 2013.08.29 】 1.  Cocos2dx 库的改动 处于个人的固执,花一天时间重新布置了cocos2dx 2.1.4的目录层次,将android平台无关的代码全数裁剪,代码按模块置于 jni 下,主要分为 cocos2d, CocosDenshion, extensions, external,third_party 5个主要模块,其中 NDK中已有的 AssetManager及GLES/SLES头文件全部删除,只要包含路径含有 ${NDK_ROOT}/platforms/android-8/arch-arm/usr/include,则这些文件没必要复制在工程中。目录结构如下: . ├── cocos2dx │   ├── actions │   ├── base_nodes │   ├── cocoa │   ├── draw_nodes │   ├── effects │   ├── include │   ├── kazmath │   │   ├── include │   │   │   └── kazmath │   │   │   └── GL │   │   └── src │   │   └── GL │   ├── keypad_dispatcher │   ├── label_nodes │   ├── layers_scenes_transitions_nodes │   ├── menu_nodes │   ├── misc_nodes │   ├── particle_nodes │   ├── platform │   │   └── android │   │   └── jni │   ├── script_support │   ├── shaders │   ├── sprite_nodes │   ├── support │   │   ├── component │   │   ├── data_support │   │   ├── image_support │   │   ├── tinyxml2 │   │   ├── user_default │   │   └── zip_support │   ├── text_input_node │   ├── textures │   ├── tilemap_parallax_nodes │   └── touch_dispatcher ├── CocosDenshion │   ├── include │   ├── jni │   └── opensl ├── extensions │   ├── AssetsManager │   ├── CCArmature │   │   ├── animation │   │   ├── datas │   │   ├── display │   │   ├── external_tool │   │   │   └── Json │   │   │   └── lib_json │   │   ├── physics │   │   └── utils │   ├── CCBReader │   ├── Components │   ├── GUI │   │   ├── CCControlExtension │   │   ├── CCEditBox │   │   └── CCScrollView │   ├── LocalStorage │   ├── network │   ├── physics_nodes │   └── spine ├── external │   ├── Box2D │   │   ├── Collision │   │   │   └── Shapes │   │   ├── Common │   │   ├── Dynamics │   │   │   ├── Contacts │   │   │   └── Joints │   │   └── Rope │   ├── chipmunk │   │   ├── include │   │   │   └── chipmunk │   │   │   └── constraints │   │   └── src │   │   └── constraints │   ├── emscripten │   ├── libwebsockets │   │   ├── include │   │   └── lib │   │   ├── armeabi │   │   ├── armeabi-v7a │   │   └── x86 │   └── sqlite3 │   ├── include │   └── libraries │   └── win32 └── third_party ├── libcurl │   ├── include │   │   └── curl │   └── libs │   ├── armeabi │   ├── armeabi-v7a │   └── x86 ├── libjpeg │   ├── include │   └── libs │   ├── armeabi │   ├── armeabi-v7a │   └── x86 ├── libpng │   ├── include │   └── libs │   ├── armeabi │   ├── armeabi-v7a │   └── x86 ├── libtiff │   ├── include │   └── libs │   ├── armeabi │   ├── armeabi-v7a │   └── x86 └── libwebp ├── include └── libs ├── armeabi ├── armeabi-v7a └── x86 119 directories 新的 Android.mk 内容为 LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE := cocos2dx_top LOCAL_MODULE_FILENAME := libcocos2d_top #LOCAL_WHOLE_STATIC_LIBRARIES := cocos_libpng_static #LOCAL_WHOLE_STATIC_LIBRARIES += cocos_jpeg_static #LOCAL_WHOLE_STATIC_LIBRARIES += cocos_libxml2_static #LOCAL_WHOLE_STATIC_LIBRARIES += cocos_libtiff_static #LOCAL_WHOLE_STATIC_LIBRARIES += cocos_libwebp_static COCOS2DX_PATH := $(LOCAL_PATH)/cocos2dx LOCAL_EXPORT_C_INCLUDES := $(COCOS2DX_PATH) \ $(COCOS2DX_PATH)/include \ $(COCOS2DX_PATH)/kazmath/include \ $(COCOS2DX_PATH)/platform/android # define the macro to compile through support/zip_support/ioapi.c LOCAL_CFLAGS := -Wno-psabi -DUSE_FILE32API LOCAL_EXPORT_CFLAGS := -Wno-psabi -DUSE_FILE32API include $(BUILD_STATIC_LIBRARY) $(call import-module,cocos2dx) $(call import-module,CocosDenshion) $(call import-module,extensions) $(call import-module,external/Box2D) $(call import-module,external/chipmunk) $(call import-module,third_party/libcurl) $(call import-module,third_party/libjpeg) $(call import-module,third_party/libpng) $(call import-module,third_party/libtiff) $(call import-module,third_party/libwebp) 其中,LOCAL_WHOLE_STATIC_LIBRARIES 没必要定义了 2. TestCpp 的改动 复制导入TestCpp工程  将公用类代码 /home/yourname/cocos2d-x-2.1.4/samples/Cpp/TestCpp/Classes 复制到 TestCpp/jni;  将assets资源 /home/yourname/cocos2d-x-2.1.4/samples/Cpp/TestCpp/Resources 复制到 TestCpp/assets;  添加 Eclipse 局部环境变量 COCOS2DX_ROOT 为第1节中项目的jni目录;  在项目属性中添加第1节改好的 cocos2dx库  Android.mk 改为 LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE := testcpp LOCAL_MODULE_FILENAME := libtestcpp LOCAL_SRC_FILES := testcpp/main.cpp \ Classes/AccelerometerTest/AccelerometerTest.cpp \ Classes/ActionManagerTest/ActionManagerTest.cpp \ Classes/ActionsTest/ActionsTest.cpp \ Classes/ActionsEaseTest/ActionsEaseTest.cpp \ Classes/ActionsProgressTest/ActionsProgressTest.cpp \ Classes/Box2DTest/Box2dTest.cpp \ Classes/Box2DTestBed/Box2dView.cpp \ Classes/Box2DTestBed/GLES-Render.cpp \ Classes/Box2DTestBed/Test.cpp \ Classes/Box2DTestBed/TestEntries.cpp \ Classes/BugsTest/Bug-1159.cpp \ Classes/BugsTest/Bug-1174.cpp \ Classes/BugsTest/Bug-350.cpp \ Classes/BugsTest/Bug-422.cpp \ Classes/BugsTest/Bug-624.cpp \ Classes/BugsTest/Bug-886.cpp \ Classes/BugsTest/Bug-899.cpp \ Classes/BugsTest/Bug-914.cpp \ Classes/BugsTest/BugsTest.cpp \ Classes/BugsTest/Bug-458/Bug-458.cpp \ Classes/BugsTest/Bug-458/QuestionContainerSprite.cpp \ Classes/ChipmunkTest/ChipmunkTest.cpp \ Classes/ClickAndMoveTest/ClickAndMoveTest.cpp \ Classes/ClippingNodeTest/ClippingNodeTest.cpp \ Classes/CocosDenshionTest/CocosDenshionTest.cpp \ Classes/CurlTest/CurlTest.cpp \ Classes/CurrentLanguageTest/CurrentLanguageTest.cpp \ Classes/DrawPrimitivesTest/DrawPrimitivesTest.cpp \ Classes/EffectsAdvancedTest/EffectsAdvancedTest.cpp \ Classes/EffectsTest/EffectsTest.cpp \ Classes/ExtensionsTest/ExtensionsTest.cpp \ Classes/ExtensionsTest/NotificationCenterTest/NotificationCenterTest.cpp \ Classes/ExtensionsTest/ControlExtensionTest/CCControlScene.cpp \ Classes/ExtensionsTest/ControlExtensionTest/CCControlSceneManager.cpp \ Classes/ExtensionsTest/ControlExtensionTest/CCControlButtonTest/CCControlButtonTest.cpp \ Classes/ExtensionsTest/ControlExtensionTest/CCControlColourPicker/CCControlColourPickerTest.cpp \ Classes/ExtensionsTest/ControlExtensionTest/CCControlPotentiometerTest/CCControlPotentiometerTest.cpp \ Classes/ExtensionsTest/ControlExtensionTest/CCControlSliderTest/CCControlSliderTest.cpp \ Classes/ExtensionsTest/ControlExtensionTest/CCControlStepperTest/CCControlStepperTest.cpp \ Classes/ExtensionsTest/ControlExtensionTest/CCControlSwitchTest/CCControlSwitchTest.cpp \ Classes/ExtensionsTest/CocosBuilderTest/CocosBuilderTest.cpp \ Classes/ExtensionsTest/CocosBuilderTest/HelloCocosBuilder/HelloCocosBuilderLayer.cpp \ Classes/ExtensionsTest/CocosBuilderTest/TestHeader/TestHeaderLayer.cpp \ Classes/ExtensionsTest/CocosBuilderTest/ButtonTest/ButtonTestLayer.cpp \ Classes/ExtensionsTest/CocosBuilderTest/MenuTest/MenuTestLayer.cpp \ Classes/ExtensionsTest/CocosBuilderTest/AnimationsTest/AnimationsTestLayer.cpp \ Classes/ExtensionsTest/CocosBuilderTest/TimelineCallbackTest/TimelineCallbackTestLayer.cpp \ Classes/ExtensionsTest/NetworkTest/HttpClientTest.cpp \ Classes/ExtensionsTest/NetworkTest/WebSocketTest.cpp \ Classes/ExtensionsTest/EditBoxTest/EditBoxTest.cpp \ Classes/ExtensionsTest/TableViewTest/TableViewTestScene.cpp \ Classes/ExtensionsTest/TableViewTest/CustomTableViewCell.cpp \ Classes/ExtensionsTest/ArmatureTest/ArmatureScene.cpp \ \ Classes/ExtensionsTest/ComponentsTest/ComponentsTestScene.cpp \ Classes/ExtensionsTest/ComponentsTest/EnemyController.cpp \ Classes/ExtensionsTest/ComponentsTest/GameOverScene.cpp \ Classes/ExtensionsTest/ComponentsTest/PlayerController.cpp \ Classes/ExtensionsTest/ComponentsTest/ProjectileController.cpp \ Classes/ExtensionsTest/ComponentsTest/SceneController.cpp \ \ Classes/FontTest/FontTest.cpp \ Classes/IntervalTest/IntervalTest.cpp \ Classes/KeypadTest/KeypadTest.cpp \ Classes/LabelTest/LabelTest.cpp \ Classes/LayerTest/LayerTest.cpp \ Classes/NodeTest/NodeTest.cpp \ Classes/TextInputTest/TextInputTest.cpp \ Classes/MenuTest/MenuTest.cpp \ Classes/MotionStreakTest/MotionStreakTest.cpp \ Classes/MutiTouchTest/MutiTouchTest.cpp \ Classes/ParallaxTest/ParallaxTest.cpp \ Classes/ParticleTest/ParticleTest.cpp \ Classes/PerformanceTest/PerformanceNodeChildrenTest.cpp \ Classes/PerformanceTest/PerformanceParticleTest.cpp \ Classes/PerformanceTest/PerformanceSpriteTest.cpp \ Classes/PerformanceTest/PerformanceTest.cpp \ Classes/PerformanceTest/PerformanceTextureTest.cpp \ Classes/PerformanceTest/PerformanceTouchesTest.cpp \ Classes/RenderTextureTest/RenderTextureTest.cpp \ Classes/RotateWorldTest/RotateWorldTest.cpp \ Classes/SceneTest/SceneTest.cpp \ Classes/SchedulerTest/SchedulerTest.cpp \ Classes/ShaderTest/ShaderTest.cpp \ Classes/SpineTest/SpineTest.cpp \ Classes/SpriteTest/SpriteTest.cpp \ Classes/TextureCacheTest/TextureCacheTest.cpp \ Classes/Texture2dTest/Texture2dTest.cpp \ Classes/TexturePackerEncryptionTest/TextureAtlasEncryptionTest.cpp \ Classes/TileMapTest/TileMapTest.cpp \ Classes/TouchesTest/Ball.cpp \ Classes/TouchesTest/Paddle.cpp \ Classes/TouchesTest/TouchesTest.cpp \ Classes/TransitionsTest/TransitionsTest.cpp \ Classes/UserDefaultTest/UserDefaultTest.cpp \ Classes/ZwoptexTest/ZwoptexTest.cpp \ Classes/FileUtilsTest/FileUtilsTest.cpp \ Classes/DataVisitorTest/DataVisitorTest.cpp \ Classes/ConfigurationTest/ConfigurationTest.cpp \ Classes/controller.cpp \ Classes/testBasic.cpp \ Classes/AppDelegate.cpp \ Classes/VisibleRect.cpp #LOCAL_WHOLE_STATIC_LIBRARIES := cocos2dx_static #LOCAL_WHOLE_STATIC_LIBRARIES += cocosdenshion_static #LOCAL_WHOLE_STATIC_LIBRARIES += box2d_static #LOCAL_WHOLE_STATIC_LIBRARIES += chipmunk_static #LOCAL_WHOLE_STATIC_LIBRARIES += cocos_extension_static LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH) LOCAL_C_INCLUDES := $(LOCAL_PATH)/Classes \ $(COCOS2DX_ROOT)/cocos2dx \ $(COCOS2DX_ROOT)/cocos2dx/include \ $(COCOS2DX_ROOT)/cocos2dx/kazmath/include \ $(COCOS2DX_ROOT)/cocos2dx/platform/android \ $(COCOS2DX_ROOT)/extensions \ $(COCOS2DX_ROOT)/external \ $(COCOS2DX_ROOT)/external/chipmunk/include/chipmunk \ $(COCOS2DX_ROOT)/CocosDenshion/include \ $(COCOS2DX_ROOT)/third_party/libcurl/include \ $(COCOS2DX_ROOT)/extensions/network \ $(COCOS2DX_ROOT)/external/libwebsockets/include include $(BUILD_STATIC_LIBRARY) 编译完成。值得注意的时,你不用再在mk文件末尾 添加(call import-module,external/Box2D) 语句,只要添加头文件包含路径。 【转载请注明来自blog.csdn.net/tonyfield 谢谢 2013.08.30 】

上一篇:Android常用动画Animation的使用
下一篇:修改窗口的图标 修改视窗光标

相关文章

相关评论