用Cocos2d-x-3.0及Box2d预测物体弹道轨迹
发布时间:2020-12-14 17:26:42 所属栏目:百科 来源:网络整理
导读:英文论坛原帖: http://discuss.cocos2d-x.org/t/cocos3-0-tutorial-predict-a-trajectory-with-cocos2d-x-and-box2d/13493 如何使用cocos2d-x和Box2d来预测物体弹道轨迹 本部分内容设定了隐藏,需要回复后才能看到 创建一个新项目 用这些代码创建一个新cocos
英文论坛原帖: http://discuss.cocos2d-x.org/t/cocos3-0-tutorial-predict-a-trajectory-with-cocos2d-x-and-box2d/13493 如何使用cocos2d-x和Box2d来预测物体弹道轨迹 本部分内容设定了隐藏,需要回复后才能看到 创建一个新项目 用这些代码创建一个新cocos2d-x项目: cocos new MyGame -p com.MyCompany.MyGame -l cpp -d ~/MyCompany 关于创建新项目的细节请查阅下面的网页: http://cocos2d-x.org/wiki/How_to_Start_A_New_Cocos2D-X_Game 注意:当你使用cocos-console新创建一个项目时,文件夹cocos2d会在你的项目文件夹里生成。但因为它太大了,所以我并没有将它上传。 素材资源 下载ball.png 和 dot.png 并复制进Resources文件夹。 Linux版本 打开你的项目文件夹并且在文件夹CMakeLists.txt第161行添加box2d(在on target link libraries那一部分) box2d 结果看起来就像是: target_link_libraries(${APP_NAME} ui network storage spine cocostudio cocosbuilder extensions audio cocos2d ) Windows版本 打开你的proj.win32 .SLN 文件并添加Box2D文件依赖 右键点击解决方案Solution而不是项目名称然后点击添加add—>现有项目add exist project,搜索外部资源“BOX2D“并添加 现在右键点击解决方案,点击属性,选择项目依赖项Project Dependencies并勾取libBox2D使其加入编译 现在右键点击你的项目名称(解决方案的里面),并选择引用reference,在底部点击添加新引用ADD NEW REFERENCE然后勾选libBox2D并点击确定OK。 点击确定OK关闭窗口。 是时候敲键盘写代码了: 在HelloWorldScene.h里,在第四行也就是#include "cocos2d.h"的下面添加:
在public的下面添加:
2
3
|
bool
onTouchBegan(Touch* touch,Event* event);
void
onTouchMoved(Touch* touch,Event* event);
onTouchEnded(Touch* touch,Event* event);
|
在INIT主要函数中添加鼠标监听事件(提示:是在HelloWorldScene.cpp)
4
5
6
7
8
9
10
//SET MOUSE LISTENER
auto
listener = EventListenerTouchOneByOne::create();
listener->setSwallowTouches(
true
);
listener->onTouchBegan = CC_CALLBACK_2(HelloWorld::onTouchBegan,
this
);
listener->onTouchMoved = CC_CALLBACK_2(HelloWorld::onTouchMoved,monospace!important; font-size:1em!important; min-height:auto!important; color:black!important">);
listener->onTouchEnded = CC_CALLBACK_2(HelloWorld::onTouchEnded,monospace!important; font-size:1em!important; min-height:auto!important; color:black!important">);
_eventDispatcher->addEventListenerWithSceneGraphPriority(listener,monospace!important; font-size:1em!important; min-height:auto!important; color:black!important">);
//END MOUSE LISTENER
在CPP主文件里(HelloWorldScene.cpp)添加下列函数:
11
12
13
14
15
16
{
return
true
;
}
HelloWorld::onTouchMoved(Touch* touch,Event* event)
{
}
HelloWorld::onTouchEnded(Touch* touch,Event* event)
{
}