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

Cocos 随写

发布时间:2020-12-14 21:27:52 所属栏目:百科 来源:网络整理
导读:auto listenter = EventListenerTouchOneByOne::create();//设置单点触摸listenter-onTouchBegan = [](Touch* pTouch,Event* event)-bool{Point pos1 = pTouch-getLocation();// 3D 坐标Point Pos2 = pTouch-getLocationInView();//2D 坐标Point pos3 = Dire
	auto listenter = EventListenerTouchOneByOne::create();//设置单点触摸
	listenter->onTouchBegan = [](Touch* pTouch,Event* event)->bool
	{
		Point pos1 = pTouch->getLocation();// 3D 坐标
		Point Pos2 = pTouch->getLocationInView();//2D 坐标
		Point pos3 = Director::getInstance()->convertToGL(Pos2);//cocos 坐标

		CCLOG("TouchBegin pos1.x = %lf,pos1.y = %lf",pos1.x,pos1.y);
		CCLOG("TouchBegin pos2.x = %lf,pos2.y = %lf",Pos2.x,Pos2.y);
		CCLOG("TouchBegin pos3.x = %lf,pos3.y = %lf",pos3.x,pos3.y);

		return true;
	};
    
	listenter->onTouchMoved = [](Touch*,Event* e)
	{
		CCLOG("OnTuchMoved");
	};

	listenter->onTouchEnded = [](Touch*,Event* e)
	{
		CCLOG("OnTouchEnded");
	};

	_eventDispatcher->addEventListenerWithSceneGraphPriority(listenter,this);

2
	Size VisibleSize = Director::getInstance()->getVisibleSize();

	Sprite* p1 = Sprite::create("Images/grossinis_sister1.png");
	p1->setPosition(Point(VisibleSize.width * 0.5f-5,VisibleSize.height * 0.5f));
	this->addChild(p1,1);

	Sprite* p2 = Sprite::create("Images/grossinis_sister2.png");
	p2->setPosition(Point(VisibleSize.width * 0.5f+5,VisibleSize.height * 0.5f));
	this->addChild(p2,0);

	auto Listenter = EventListenerTouchOneByOne::create();
	Listenter->setSwallowTouches(true);//设置吞没事件

	Listenter->onTouchBegan = [](Touch* pTouch,Event* pEvent)
	{
		auto target = static_cast<Sprite*>(pEvent->getCurrentTarget());
		Point Pos = Director::getInstance()->convertToGL(pTouch->getLocationInView());

		if(target->getBoundingBox().containsPoint(Pos))//判断是否在精灵中
		{
			target->setOpacity(100);//设置透明度100
			return true;
		}
		return false;
	};

	Listenter->onTouchEnded = [](Touch* pTouch,Event* pEvent)
	{
		auto Target =(Sprite*) pEvent->getCurrentTarget();
		Target->setOpacity(255);

	};

	_eventDispatcher->addEventListenerWithSceneGraphPriority(Listenter,p1);
	_eventDispatcher->addEventListenerWithSceneGraphPriority(Listenter->clone(),p2);

(编辑:李大同)

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

    推荐文章
      热点阅读