hello world工程结构分析

前端之家收集整理的这篇文章主要介绍了hello world工程结构分析前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
学习笔记----------------------
@H_404_3@当工程创建完毕,进入cocos2dx2.2.6/projects目录下面就可以查看创建的工程。打开工程,可以看到包含Classes,Resources,proj.android,proj.ios等文件夹。其中Classes文件夹存放游戏源码的地方,Resources存放游戏资源的地方,而以proj.开头的文件夹则是不同平台的工程入口,包含各个平台下游戏的相关配置信息,解决了游戏跨平台的问题。
@H_404_3@
@H_404_3@cocos2dx是怎么解决跨平台的问题呢,我们先想一下解决跨平台问题的思路,那就是将变与不变的内容分离出来,将变的内容进行封装,提供一个统一的接口给不变的内容使用,这样可以做到跨平台的复用。那cocos2dx是怎么做到的呢,cocos2dx目录下面以proj开头的文件夹,就是变的部分,封装了不同平台的差异。Resources和Classes文件夹则是不变的部分,属于游戏公共部分。
@H_404_3@
@H_404_3@针对不同平台的配置编译,这里主要介绍Android和iOS,在Android/工程/jni文件夹下面,找到Android.mk文件Android.mk文件用来告知NDK Build 系统关于Source的信息,其配置信息如下:

@H_404_3@LOCAL_PATH := $(call my-dir)

@H_404_3@

@H_404_3@include $(CLEAR_VARS)

@H_404_3@

@H_404_3@LOCAL_MODULE := cocos2dcpp_shared

@H_404_3@

@H_404_3@LOCAL_MODULE_FILENAME := libcocos2dcpp

@H_404_3@

@H_404_3@FILE_LIST := hellocpp/main.cpp

@H_404_3@FILE_LIST := hellocpp/main.cpp

@H_404_3@

@H_404_3@FILE_LIST += $(wildcard $(LOCAL_PATH)/../../Classes/*.cpp)

@H_404_3@FILE_LIST += $(wildcard $(LOCAL_PATH)/../../Classes/*.cpp)

@H_404_3@FILE_LIST += $(wildcard $(LOCAL_PATH)/../../Classes/Config/*.cpp)

@H_404_3@

@H_404_3@LOCAL_SRC_FILES := $(FILE_LIST:$(LOCAL_PATH)/%=%)

@H_404_3@LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../Classes \

@H_404_3@$(LOCAL_PATH)/../../Classes/Config \

@H_404_3@LOCAL_WHOLE_STATIC_LIBRARIES += cocos2dx_static

@H_404_3@LOCAL_WHOLE_STATIC_LIBRARIES += cocosdenshion_static

@H_404_3@LOCAL_WHOLE_STATIC_LIBRARIES += Box2d_static

@H_404_3@LOCAL_WHOLE_STATIC_LIBRARIES += chipmunk_static

@H_404_3@LOCAL_WHOLE_STATIC_LIBRARIES += cocos_extension_static

@H_404_3@

@H_404_3@include $(BUILD_SHARED_LIBRARY)

@H_404_3@$(call import-module,cocos2dx)

@H_404_3@

@H_404_3@$(call import-module,cocos2dx/platform/third_party/android/prebuilt/libcurl)

@H_404_3@$(call import-module,cocos2dx/platform/third_party/android/prebuilt/libcurl)

@H_404_3@

@H_404_3@$(call import-module,CocosDenshion/android)

@H_404_3@$(call import-module,CocosDenshion/android)

@H_404_3@

@H_404_3@$(call import-module,extensions)

@H_404_3@$(call import-module,extensions)

@H_404_3@

@H_404_3@$(call import-module,external/Box2D)

@H_404_3@$(call import-module,external/Box2D)

@H_404_3@

@H_404_3@$(call import-module,external/chipmunk)

@H_404_3@$(call import-module,external/chipmunk)

配置完成后,进入proj.android文件夹下面,通过运行build_native.py命令完成源码编译,然后通过eclipse打包apk。

@H_404_3@在iOS平台下面则比较简单,创建类的时候将类信息配置在 工程名称.xcodeproj文件project.pbxproj,直接通过xcode编译运行即可。

@H_404_3@
@H_404_3@如果我们需要创建不同平台或相同平台不同功用的工程,只要将proj.开头的文件夹复制一份,这个文件夹会引用正确的源码和资源信息,在里面可以配置修改不同平台或功用的需求。

猜你在找的Cocos2d-x相关文章