您的位置:首页 > 其它

coco2d-x 终端向Classes文件中添加新类

2017-03-22 23:55 239 查看
新建一个工程

cocos new MyGame -p com.MyCompany.MyGame -l cpp -d ./MyCompany

编译生成Linux程序

cocos compile -s ./MyCompany/MyGame -p linux -m debug -o ./MyCompany/MyGame/bin

编译生成Android程序

cocos compile -s ./MyCompany/MyGame -p android -m debug -o ./MyCompany/MyGame/bin

可以看到生成的Classes文件夹中有四个文件

AppDelegate.h

AppDelegate.cpp

HelloWorldScene.h

HelloWorldScene.cpp

这篇文章的目的是增加两个新文件

MyClass.h

#ifndef MYCLASS_H
#define MYCLASS_H
#include "cocos2d.h"
class MyClass : public cocos2d::Sprite {
public:
MyClass();
~MyClass();
void print();
int getNumber();
};
#endif


MyClass.cpp

#include <iostream>
#include "MyClass.h"
using namespace std;

MyClass::MyClass() {}

MyClass::~MyClass() {}

void MyClass::print() {
cout << "MyClass";
}

int MyClass::getNumber() {
return 100;
}


在HelloWorldScene.cpp中用到MyClass对象,HelloWorldSence::init()函数中添加:

MyClass m;

auto label = Label::createWithTTF("Hello World", "fonts/Marker Felt.ttf", m.getNumber());


可以看到定义了一个对象m,在createWithTTF函数中调用m.getNumber()函数。

如果直接编译会出错,

在编译Linux程序时需要在CMakeLists.txt文件中增加

set(GAME_SRC
Classes/AppDelegate.cpp
Classes/HelloWorldScene.cpp
Classes/MyClass.cpp
${PLATFORM_SPECIFIC_SRC}
)

set(GAME_HEADERS
Classes/AppDelegate.h
Classes/HelloWorldScene.h
Classes/MyClass.h
${PLATFORM_SPECIFIC_HEADERS}
)
表示已经包涵这两个文件。

编译成功

Scanning dependencies of target MyGame

[100%] Building CXX object CMakeFiles/MyGame.dir/Classes/HelloWorldScene.cpp.o

[100%] Building CXX object CMakeFiles/MyGame.dir/Classes/MyClass.cpp.o

[100%] Linking CXX executable bin/MyGame

[100%] Built target MyGame

Build succeed.

在编译Android程序时需要在

/home/wang/workspace/cocos2dx/MyCompany/SixFiles/proj.android/jni/目录下增加

Android.mk

14 LOCAL_SRC_FILES := hellocpp/main.cpp \
15                    ../../Classes/AppDelegate.cpp \
16                    ../../Classes/HelloWorldScene.cpp \
17                    ../../Classes/MyClass.cpp
18
19 LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../Classes


编译成功

BUILD SUCCESSFUL

Total time: 15 seconds

Move apk to /home/wang/workspace/cocos2dx/MyCompany/SixFiles/bin

Build succeed.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐