Cocos2dx3.2编写常用UI组件(一)新手指导框GuideLayer(2)

来源:未知 责任编辑:责任编辑 发表时间:2015-09-17 09:44 点击:

 

为自己添加一个监听器,回调函数是onTouchBegan,起阻断的作用。

 

再看传入颜色参数的create和init方法

 

bool GuideLayer::init(const Rect& rect,const Color4B& color){
	Color4B temp = defaultColor;
	defaultColor = color;
	if(init(rect)){
		defaultColor = temp;
		return true;
	}else{
		return false;
	}
}
只不过是间接调用了默认的init方法罢了。

 

 

最后,我们看一下监听器的回调函数

 

bool GuideLayer::onTouchBegan(Touch* touch,Event* event){
	Point touchPoint = Director::getInstance()->convertToGL(touch->getLocationInView());
	m_listener->setSwallowTouches(false);
	if(m_rect.containsPoint(touchPoint)){
		return false;
	}else{
		m_listener->setSwallowTouches(true);
		return true;
	}
}

 

就是先检测触摸点是否在里亮的区域,如果不是,则阻断触摸点的向下传递,如果是,则允许触摸点向下传递。

由于这样子实现,所以在用到GuideLayer的时候要注意了,尽量addChild的时候把GuideLayer放到最上层。

 

附上效果图和GuideLayer源码

\

 

发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码:点击我更换图片
最新评论 更多>>

推荐热点

  • cocos2d-x学习笔记(19)--label 、label atlas
  • cocos2d-x学习笔记(23)--地图的使用3--CCTMXLayer
  • Cocos2d-x 2.0 之 Actions “三板斧” 之一
  • Cocos2d-x学习(一):HelloWorld
  • cocos2d-x学习笔记(18)--游戏打包(windows平台)
  • cocos2d 设置屏幕默认方向
  • cocos2d-x学习笔记(16)--spritesheet(精灵表单)
  • cocos2d-x学习笔记(15)--地图的使用(TMX)
  • cocos2dx在xcode下开发,编译到android上(2)
网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
Copyright © 2008-2015 计算机技术学习交流网. 版权所有

豫ICP备11007008号-1