主要实现方法:
//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跟其它版本或许有些许不一样!但都是对于我们初学者来说影响不是很大!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。