加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

【熟悉引擎第三步】Cocos2d-x 3.x中使用物理引擎动态添加元素(

发布时间:2020-12-14 19:38:43 所属栏目:百科 来源:网络整理
导读:主要实现方法: //EventListenerTouchOneByOne类的创建方法 static EventListenerTouchOneByOne* create(); //这个函数我也看不懂,知道怎么用就行,就是传入一个触摸指针,一个事件指针参数的函数 std::functionbool(Touch*,Event*) onTouchBegan; 主要目的

主要实现方法:

//EventListenerTouchOneByOne类的创建方法

static EventListenerTouchOneByOne* create();

//这个函数我也看不懂,知道怎么用就行,就是传入一个触摸指针,一个事件指针参数的函数

std::function<bool(Touch*,Event*)> onTouchBegan;

主要目的:实现单点触发事件

okay 我们在之前的基础上来实现这几行代码!

首先我我们需要定义一个函数,当然你不定义也可以,这只是我的方法!

在HelloWorldScene.h中声明

void addbomb(Vect position);


接下来,我们在HelloWorldScene.cpp中实现这个方法

作用会在接下来显示出来

void HelloWorldScene::addbomb(Vect position){

addBomb(position.x,position.y);

}


紧接着

我们在onEnter中实现点击触发


void HelloWorld::onEnter(){
addEdges();
//用一个事件侦听器,点一次触发一次
auto listener = EventListenerTouchOneByOne::create();
listener->onTouchBegan = [this](Touch* t,Event*){
this->addBomb(t->getLocation());//注意此行getLocation的返回值是Vect类型的,所以voidHelloWorldScene::addbomb(Vect position)定义函数的作用就出来了
return true;
};
Director::getInstance()->getEventDispatcher()->addEventListenerWithFixedPriority(listener,1);
}

相片就不上传了,3.3跟其它版本或许有些许不一样!但都是对于我们初学者来说影响不是很大!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读