新建Cocos2d-x工程 vs2010

(1) 在E 盘下面新建文件夹InverseWar  这个文件夹。

(2) 先建立Android  WorkSpace到这个目录,然后新建AndroidTencent工程

(3) 然后在VS中新建InverseWar项目到这个目录,即在VS中新建项目时,项目文件夹选E:\  。然后VS本来要新建InverseWar目录的,但是已经存在了,就直接把项目文件放到InverseWar中了。

这样Android和VS 工程就在同一个文件夹,和公司现在游戏结构一样了。


下面新建VS工程,新建InverseWar工程完毕之后设置Cocos2d的环境变量。

Cocos2d   
E:\Cocos2d-X\cocos2d-2.1rc0-x-2.1.2

然后把项目的环境变量中Cocos2d的目录用环境变量来代替。

.;
..\Classes;
$(Cocos2d)\cocos2dx;
$(Cocos2d)\cocos2dx\include;
$(Cocos2d)\cocos2dx\kazmath\include;
$(Cocos2d)\cocos2dx\platform\win32;$(Cocos2d)\cocos2dx\platform\third_party\win32;
$(Cocos2d)\cocos2dx\platform\third_party\win32\OGLES;
$(Cocos2d)\external;
$(Cocos2d)\CocosDenshion\include;%(AdditionalIncludeDirectories)


设置完环境变量之后需要重启下VS才有效。


设置连接器库目录

$(Cocos2d)\Debug.win32

现在程序编译通过了。但是运行不起来,因为debug文件夹下面没有dll和lib。


把E:\Cocos2d-X\cocos2d-2.1rc0-x-2.1.2\Debug.win32 里面的所有的dll拷贝到E:\InverseWars\proj.win32\Debug.win32 里面就OK了。


建议大家直接在Cocos2d-x项目目录下面新建工程,这样调试的时候可以直接看Cocos2d的代码,而且不用上面的任何一步设置……


下面开始移植Android


上面已经新建了名为Android的安卓项目,把 E:\Cocos2d-X\cocos2d-2.1rc0-x-2.1.2\cocos2dx\platform\android\java\bin\libcocos2dx.jar   拷贝到AndroidTencent项目的libs文件夹,这是Cocos2d-x的库。

然后从HelloCpp项目下面拷贝jni文件夹到AndroidTencent项目下面。


修改Android.mk

LOCAL_PATH := $(call my-dir)
$(call import-add-path, E:\Cocos2d-X\cocos2d-2.1rc0-x-2.1.2) \
$(call import-add-path, E:\Cocos2d-X\cocos2d-2.1rc0-x-2.1.2\cocos2dx\platform\third_party\android\prebuilt) \

include $(CLEAR_VARS)

LOCAL_MODULE := InverseWars_shared

LOCAL_MODULE_FILENAME := libInverseWars

LOCAL_SRC_FILES := jni.cpp \
                   ../../Classes/AppDelegate.cpp \
                   ../../Classes/HelloWorldScene.cpp

LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../Classes \
$(Cocos2d)/cocos2dx \
$(Cocos2d)/cocos2dx/include \
$(Cocos2d)/cocos2dx/kazmath/include \
$(Cocos2d)/cocos2dx/platform/android \
$(Cocos2d)/cocos2dx/platform/third_party/android \
$(Cocos2d)/external \
$(Cocos2d)/CocosDenshion\include \
$(Cocos2d)/CocosDenshion\android \

LOCAL_WHOLE_STATIC_LIBRARIES := cocos2dx_static cocosdenshion_static

include $(BUILD_SHARED_LIBRARY)

$(call import-module,CocosDenshion/android) \
$(call import-module,cocos2dx) \
$(call import-module,extensions)

好像cocos2dx、cocosdenshion、box2d都是STATIC_LIBRARY,所以

LOCAL_WHOLE_STATIC_LIBRARIES := cocos2dx_static cocosdenshion_static

刚才因为没有加上cocosdenshion_static而一直报错,undefined reference to CocosDenshion。。。


Application.mk 要注意加上

APP_PLATFORM := android-8


转到AndroidTencent工程。

简单的源代码:

package com.example.androidtencent;

import android.os.Bundle;

import org.cocos2dx.lib.Cocos2dxActivity;

public class MainActivity extends Cocos2dxActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
    }

    static
    {
    	System.loadLibrary("InverseWars");
    }
}

最后注意要把项目的Resources文件夹里面的资源都拷贝到AndroidTencent里面的Assest里面。


Android 全屏的方法:

在AndroidManifest.xml中设置

<activity
            android:name="com.example.androidtencent.MainActivity"
            android:label="@string/app_name" 
            android:screenOrientation="landscape"
            android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
            android:configChanges="orientation">


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值