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

本文介绍了如何在cocos2d-x项目中添加新类MyClass。首先通过cocos命令创建新工程,然后编译生成Linux和Android程序。在Classes文件夹中增加MyClass.h和MyClass.cpp后,需要更新CMakeLists.txt和Android.mk以避免编译错误。最终,成功编译并运行展示了新类的集成。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

新建一个工程

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.



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值