/* 单点触摸事件 */
// 创建一个怪物
auto guaiwu = Sprite::create("res/tk.png");
guaiwu->setPosition(Point(200,200));
this->addChild(guaiwu);
auto listener = EventListenerTouchOneByOne::create();
// 触摸键开始,当手指按下,怪物移动到点击的坐标位置
listener->onTouchBegan = [](Touch* touch, Event* event){
// 获取单击坐标,基于3d
// touch->getLocation();
// 获取单击坐标,基于2d
// touch->getLocationInView();
// 获取单击坐标,基于Cocos2d-x
//Director::getInstance()->convertToGL(<#const cocos2d::Vec2 &point#>)
// 将2d坐标转换成cocos2d-x坐标
Point point = Director::getInstance()->convertToGL( touch->getLocationInView() );
// 创建移动对象,并将移动位置设置为当前点击的坐标
auto moveTo = MoveTo::create(0.3f, Point(point.x,point.y));
// 取出注册监听时间时所绑定的node对象
auto target = static_cast<Sprite*>(event->getCurrentTarget());
// 开始移动
target->runAction(moveTo);
return true;
};
// 触摸滑动事件,当手指在屏幕上滑动
listener->onTouchMoved = [](Touch * touch, Event * event){
单点触摸用的是 EventListenerTouchOneByOne 对象。