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

来源:互联网 发布:僵尸先网络ddos 编辑:程序博客网 时间:2024/06/07 17:19

新建一个工程

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.



0 0
原创粉丝点击