触级level3是什么意思,触级(Touchlevel)

博客分类:
cocos2dx 弹出模态窗口
弹出窗口触摸级别
layer3-&setTouchPriority(kCCMenuHandlerPriority-1);//设置触摸级别 -128最高
layer3-&setTouchMode(kCCTouchesOneByOne);
layer3-&registerWithTouchDispatcher();//注册可以触摸
bool PauseInfo::init(int m_nSco,int level)
if (!CCLayer::init())
m_pPausedTargets = CCDirector::sharedDirector()-&getScheduler()-&pauseAllTargets();
CC_SAFE_RETAIN(m_pPausedTargets);
ccColor3B color = { 4, 4, 222};
mSize=CCDirector::sharedDirector()-&getWinSize();
mBg= CCSprite::create("info/tishib.png");
mBg-&setPosition(ccp(mSize.width / 2, mSize.height / 2));
this-&addChild(mBg);
fhMenuItem = CCMenuItemImage::create(
"info/fanhui.png",
"info/fanhui.png",
menu_selector(PauseInfo::fhOK));
fhMenuItem-&setPosition(ccp(mSize.width / 2, mSize.height / 2+20));
fhMenuItem-&setTag(level);
tcMenuItem = CCMenuItemImage::create(
"info/tuichu.png",
"info/tuichu.png",
menu_selector(PauseInfo::tcOK));
tcMenuItem-&setPosition(ccp(mSize.width / 2, mSize.height / 2-90));
tcMenuItem-&setTag(level);
pMenu = CCMenu::create(fhMenuItem,tcMenuItem,NULL);
pMenu-&setPosition(CCPointZero);
this-&addChild(pMenu);
m_buttonArray=CCArray::create();
m_buttonArray-&addObject(tcMenuItem);
m_buttonArray-&addObject(fhMenuItem);
void PauseInfo::fhOK(CCObject* pSender )
CCDirector::sharedDirector()-&getScheduler()-&resumeTargets(m_pPausedTargets);
this-&removeFromParentAndCleanup(true);
void PauseInfo::tcOK(CCObject* pSender )
CCDirector::sharedDirector()-&end();
bool PauseInfo::ccTouchBegan(CCTouch *touch, CCEvent * pEvent)
// 因为拦截了所有消息(包括按钮) 所以需要将消息手动传给模态对话框上的按钮
if (pMenu) {
m_bTouchedControl = pMenu-&ccTouchBegan(touch, pEvent);
void PauseInfo::ccTouchMoved(CCTouch *touch, CCEvent * pEvent)
if (m_bTouchedControl == true) {
pMenu-&ccTouchMoved(touch, pEvent);
void PauseInfo::ccTouchEnded(CCTouch *touch, CCEvent * pEvent)
if (m_bTouchedControl == true) {
pMenu-&ccTouchEnded(touch, pEvent);
void PauseInfo::ccTouchCancelled(CCTouch *touch, CCEvent * pEvent)
if (m_bTouchedControl == true) {
pMenu-&ccTouchCancelled(touch, pEvent);
void PauseInfo::onExit(){
CCDirector::sharedDirector()-&getTouchDispatcher()-&removeDelegate(this);
CCLayer::onExit();
lizhuohuang
浏览: 77130 次
来自: 上海
Eclipse背景颜色修改在这里有更详细的介绍:《Eclips ...
查看了无数的帖子和回答,只有你一个人回答对了lizhuohua ...
太感谢博主分享,一下午崩溃了
一语中的,一招见血。
pageContext.getRequest().getAtt ...
(window.slotbydup=window.slotbydup || []).push({
id: '4773203',
container: s,
size: '200,200',
display: 'inlay-fix'移动端的touch click事件的理解+点透 - 简书
移动端的touch click事件的理解+点透
移动端在touch上一共有4个事件
touchstart touchmove touchend touchcancel, touchcancel, 一般来说,它们执行的顺序为 touchstart -& touchmove -& touchend -& touchcancel .
其中touchcancel一般情况下不会触发,也不是这里讨论的焦点。
这里会结合click对上面的事件进行讨论, touch发生在click之前
先上段代码,直观感受一下
&!DOCTYPE html&
&style type="text/css"&
/* width: 500
height: 500 */
#level1-0 {
background:
width: 500
height: 500
#level1-1 {
background:
width: 500
height: 500
&div id="level0"&
&div id="level1-0"&
&div id="level1-1"&
&script type="text/javascript"&
var level10 = document.getElementById("level1-0");
level10.addEventListener('touchstart', function(e) {
console.log(1);
level10.addEventListener('touchmove', function(e) {
console.log(2);
level10.addEventListener('touchend', function(e) {
console.log(3);
level10.onclick = function() {
console.log(5);
document.body.onclick = function() {
console.log('6');
在红色区域点击会出现什么效果呢? 出现的是 1 3 5 6, 奇怪了 touchmove 为何不执行,因为我们并没有移动,也就是说,必须触碰到屏幕上面,而且发生了移动动作,touchmove才执行,现在我们触碰到,而且手指稍微动一下,发现输出的效果是, 1 2(+) 3, 其中touchmove 可能触发多次,又奇怪了, click为何不执行, 因为 click执行的条件是 点击, 而且不移动 所以一般情况下,我们可以理解成 touchmove和click是相斥的。
我们知道,当一个用户在点击屏幕的时候,系统会触发touch事件和click事件,touch事件优先处理,touch事件经过 捕获,处理, 冒泡 一系列流程处理完成后, 才回去触发click事件
既然touch事件和click事件有了优先级别,那么能不能在touch阶段取消掉系统触发的click事件呢?当然是可以的,浏览器提供了这样的能力。在touch事件里面,调用e.preventDefault() 就可以阻止本次点击系统触发的click事件,即本次相关的click都不会执行
把上面代码稍微加一点
level10.addEventListener('touchstart', function(e) {
console.log(1);
e.preventDefault();
点击的时候 发现 只有 1 3, 说明click被阻止了,当然在touchend里面加效果也一样,所以 在touch事件里面加 e.preventDefault可以取消系统产生的click事件, 当然不会阻止后面的touch事件。
用个具体的例子看看 如何解决点透问题
产生点透问题的原因, 可以先看看代码吧
&!DOCTYPE html&
&style type="text/css"&
/* width: 500
height: 500 */
#level1-0 {
z-index: 1;
background:
width: 500
height: 500
#level1-1 {
background:
width: 500
height: 500
&div id="level0"&
&div id="level1-0"&
&div id="level1-1"&
&script type="text/javascript"&
var level10 = document.getElementById("level1-0");
var level11 = document.getElementById("level1-1");
level10.addEventListener('touchstart', function(e) {
level10.style.display = 'none';
level11.onclick = function() {
console.log('level11莫名被点击了');
本来是 level1-0 和 level1-1是兄弟节点,即他们之间不会发生什么 事件传递, 目前level1-0相当于一个覆盖层,覆盖在level1-1上面, 按理说点击 level1-0的时候,level1-0会阻挡所有的事件,事件不会传递给level1-1,当点击level1-0的时候,实际上level1-1也发生了点击事件,即上面的输出结果为
level1-0消失, 输出 level11莫名被点击了, 这就是点透
点透发生的条件,
A 和 B不是后代继承关系(如果是后代继承关系的话,就直接是冒泡子类的话题了)
A发生touch, A touch后立即消失, B事件绑定click
A z-index大于B,即A显示在B浮层之上
点透发生的理由:
当手指触摸到屏幕的时候,系统生成两个事件,一个是touch 一个是click,touch先执行,touch执行完成后,A从文档树上面消失了,而且由于移动端click还有延迟200-300ms的关系,当系统要触发click的时候,发现在用户点击的位置上面,目前离用户最近的元素是B,所以就直接把click事件作用在B元素上面了.
那如何才能解决点透问题呢? 还记得我之前说过么,系统提供了先触发的touch事件去取消系统生成的click事件,所以只要在touch事件的某个处理函数中 执行 e.preverDefault即可, 一般我们在touchend中执行
在上面代码中,加上这句就完美解决了
level10.addEventListener('touchend', function(e) {
e.preventDefault();
当然点透问题,还有其他的解决方法,关键是 要么是需求本次系统生成的click事件,要么是当系统触发click的时候,当前的触发touch的那个dom节点还存在。比如将其一延迟3s在关闭
setTimeout(() =& {
level10.style.display = 'none';
mobileTech A useful tools or tips list for mobile web application developing 这个项目收集移动端开发所需要的一些资源与小技巧 移动端统计 (from BiosSun) 可基于下方所列出的统计数据来决...
移动端click 事件延迟300ms 一般情况下,如果没有经过特殊处理,移动端浏览器在派发点击事件的时候,通常会出现300ms左右的延迟。也就是说,当我们点击页面的时候移动端浏览器并不是立即作出反应,而是会等上一小会儿才会出现点击的效...
这两天自己在写一个手机网页,用到了触屏滑动的特效,就是往右滑动的时候左侧隐藏的菜单从左边划出来。做完之后在手机原生浏览器中运行正常,但在QQ和微信中打开,发现touchmove只会触发一次,而且touchend也经常不触发。之后百度了一下这个问题,原因是主要是由于200ms...
javascript事件基础 我们的网页之所以丰富多彩并具有交互功能,是因为我们的javascript脚本语言,而javascript与HTML之间的交互又是通过事件机制实现的所以,事件是javascript一大核心,深入了解事件机制在我们遇到较困难问题时候十分有帮助。 所...
zepto的tap事件点透问题分析: 一、点透是什么 你可能碰到过在列表页面上创建一个弹出层,弹出层有个关闭的按钮,你点了这个按钮关闭弹出层后后,这个按钮正下方的内容也会执行点击事件(或打开链接)。这个被定义为这是一个“点透”现象。在前面的项目中遇到了如下图的问题:在点击弹...
话说秦王兴师动众,浩浩荡荡开往东周首都,向周王索要九鼎。周王见秦军声势浩大,心一下子慌了,忙召集群臣,说:“各位爱卿,如何是好呀,秦军号称是虎狼之师,如若不给,不知这群畜牲能干出什么事,若是给了,何以面对列祖列宗?”众臣默不作声,大家都知道,凭周王这里的这点军队怎么能对付的...
很多年之后,悟空告诉白晶晶,他永远也忘不了五百年前的那个冬天。】五行山地铁站,冷风如刀,万里飞雪,路人穿梭如织,悟空衣衫褴褛,冷得瑟瑟发抖,一套满是破洞的牛仔服显得愈发怀旧,他蹲在一个角落,抱着吉它弹唱着那首《流浪歌手的情人》,身前的铁盒里只有卷巴巴的四毛钱,已经三天没吃饭...
5月19日晚,刘亦菲在广州参与电影《夜孔雀》宣传路演时突然被一名变态男子扑倒。这件事让人不耻,也引发了我对于追星的一些思考,虽然肇事者不一定是粉丝。 经常听说一些很疯的追星行为(“疯狂”是一个褒义词,恕我不能用在这里),比如某女童用10万压岁钱买车送罗志祥,因爱生耻数名青年...
在别人眼里,我是多么幸福的一个孩子,有个健康的身体,有个和和美美的家,有担忧我关心我的家人,有在我叛逆困难的时候,尽她们的力气去辅助我走好路的家人朋友,虽然她们的力量是那么的卑微,那么的渺小,看似无力,却总在我心里荡起一阵涟漪。 我是多么普通的一个孩子,按照人们生活的寻常规...
教养,表现在行为方式中的道德修养状况。是社会影响、家庭教育、学校教育、个人修养的结果,尤指在家庭中从小养成的行为的道德水准。
由于国内经济发展,越来越多普通人开始有了消费娱乐的机会,而在这之中现代人处理人际关系的方式也早已与古人发生了翻天复地的变化,同时你我他中间也多...cocos2dx3.0的触摸优先级和触摸屏蔽问题
转自:http://blog.csdn.net/nxshow/article/details/
用一个实战的例子吧
&&&&auto&listener1&=&EventListenerTouchOneByOne::create();//创建一个触摸监听&&&&
&&&&listener1-&setSwallowTouches(true);//设置不想向下传递触摸&&true是不想&默认为false&&
&&&&listener1-&onTouchBegan&=&[](Touch*&touch,&Event*&event){&&&
&&&&&&&&CCLOG("touch&menu");&&
&&&&&&&&return&true;&&&
&&&&};&&&&
&&&&listener1-&onTouchMoved&=&[](Touch*&touch,&Event*&event){&&&&&&
&&&&};&&&&
&&&&listener1-&onTouchEnded&=&[=](Touch*&touch,&Event*&event){&&&&
&&&&};&&&&
&&&&Size&visibleSize&=&Director::getInstance()-&getVisibleSize();&&
&&&&"white-space:pre"&&&Point&origin&=&Director::getInstance()-&getVisibleOrigin();&&
"white-space:pre"&&&//这里添加了一个MenuItem&用来对比触摸优先级&&
&&&&auto&continueItem&=&MenuItemImage::create(&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&"ContinueNormal.png",&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&"ContinueSelect.png",&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&CC_CALLBACK_1(MenuLayer::menuContinueCallback,&this));&&
&&&&continueItem-&setPosition(Point(origin.x&+&visibleSize.width/2&&,&&
&&&&&&&&origin.y&+&visibleSize.height/2+continueItem-&getContentSize().height));&&
&&&&//&这里添加了一个背景,下面会用到&&
&&&&"white-space:pre"&&&auto&background&=&Sprite::create("background.png");&&
&&&&background-&setTextureRect(CCRectMake(0,&0,&visibleSize.width,&visibleSize.height));&&
&&&&background-&setContentSize(visibleSize);&&
&&&&"white-space:pre"&&&background-&setPosition(Point(visibleSize.width/2&+&origin.x,&visibleSize.height/2&+&origin.y));&&
&&&&"white-space:pre"&&&this-&addChild(background,&0);&&
&&&&"white-space:pre"&&&auto&menu&=&Menu::create(continueItem,&NULL);&&
&&&&"white-space:pre"&&&menu-&setPosition(Point::ZERO);&&
&&&&"white-space:pre"&&&this-&addChild(menu,&1);&&
&&&&_eventDispatcher-&addEventListenerWithFixedPriority(listener1,-128);&//&重点就是这两行,下面会有详解&&
&&&&//_eventDispatcher-&addEventListenerWithSceneGraphPriority(listener1,background);&&
上面那段代码其实也有很多注释了,关于触摸屏蔽主要实现3个地方
listener1-&setSwallowTouches(true);//设置禁止想下传递触摸&&&&
//以下两段代码二选一&&
//第一段是可以自由设置触摸优先级&&
//但是不绑定任何东西&&
_eventDispatcher-&addEventListenerWithFixedPriority(listener1,-128);&&
//这一段是设置触摸绑定到精灵,优先级为默认的0&&
//_eventDispatcher-&addEventListenerWithSceneGraphPriority(listener1,background);&&
还有一点值得注意的是,触摸优先级越低的越先被触摸。相同优先级的,后添加的先被触摸
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。快意游戏、简单生活!
《Dungeon Lords》是富有壮丽梦幻气氛的角色扮演游戏,以类似‘龙与地下城’的中古世纪为舞台,结合了 3D 动作战斗和角色扮演的元素。玩家扮演的英雄人物都是从不同种族和职业组合而成。利用精湛的战斗技巧以及角色的特有技能,玩家要完成不同的个人任务来完成游戏。
说明:所有法术名称及效果的翻译均按个人理解,有翻译不准确或无法理解之处请参照原文!^^法术类型instant为按下该法术快捷键立即发动,法术类型ready为按下该法术快捷键后要对准目标点下鼠标左键。每一类法术的等级越高,这类法术效果(打击范围、持续时间、伤害值)越高。
奥术arcane spells
1级(level 1) 冻结之触freezing touch instant 角色武器或拳头附上冰冻效果,打中后可冻结目标&
尖啸之星shrieking star ready 角色扔出一个尖啸的飞盘,对飞过路线上的目标产生少量伤害
2级(level 2) 火炎地雷fire mine ready 角色产生几个小火团,目标碰上会着火
魔法飞弹magic missile ready 角色向目标放一个魔法飞弹,命中可爆炸引起范围伤害
燃烧之手burning hand instant 角色武器或拳头附上火焰效果,打中后可烧伤目标
3级(level 3) 爆裂旋风blasting wind ready 角色指尖放出旋风,伤害并推远目标
火炎爆发fire burst ready 角色放出火炎,命中可爆炸引起范围伤害
火墙wall of fire ready 角色放出一道火墙,伤害穿越火墙的目标
4级(level 4) 火球fire ball ready 角色放出强力火球,命中可爆炸引起范围伤害并引燃多个目标
冻结freeze ready 角色冻结并伤害单个目标,持续时间中等
发射火花shooting spark ready 角色指尖放出火花,伤害身边的多个目标
电击zap ready 角色指尖放出电流,伤害身边的多个目标
5级(level 5) 燃烧云雾urning vapors instant 角色向前喷射一团燃烧的云雾,伤害并引燃范围内的多个目标
冰冻碎片ice shard ready 角色连续发射小冰块,产生少量伤害但可冻结多个目标
旋风whirlwind instant 角色产生一个旋风,伤害范围内的多个目标
6级(level 6) 电圈blast nova ready 产生圆形区域的电击效果,伤害并推远多个目标
烈焰喷射flamethrower ready 角色向前喷射烈焰,伤害范围内的多个目标
冰球ice ball ready 角色放出强力冰球,命中可爆炸引起范围伤害并冻结多个目标
7级(level 7) 冻结云雾freezing vapors instant 角色向前喷射一团低温云雾,伤害并冻结范围内的多个目标
炎柱pillor of fire instant 从地面升起炎柱,严重伤害目标并引燃范围内的多个目标
8级(level 8) 火炎飞弹fire missile ready 角色连续发射小火球,伤害并引燃范围内的多个目标
冰圈ice nova ready 产生圆形区域的冰冻效果,伤害并冻结多个目标
9级(level 9) 火风暴fire storm instant 降下火雨,伤害并引燃范围内的多个目标
冰风暴ice storm instant 降下冰雹,伤害并冻结范围内的多个目标
10级(level 10)火圈fire nova ready 产生圆形区域的火焰效果,伤害并引燃多个目标
12级(level 12)震裂cataclysn ready 产生圆形区域的剧烈爆炸,伤害多个目标
《守望先锋》中秩序之光和黑百合是两个深色皮肤的美女,有很多人的审美都倾向于白皮肤,可是深色皮肤在性感程度上不亚于白皮。这次的cos是由Ten和Nadenka Chris两位外国美女为大家带来的黑百合和秩序之光cos,由Pugoffka拍摄和后期。两位coser身材凹凸有致,充满了异国风情,还原度极高。
LOL地图梗是什么意思呢?LOL地图中会有多少种梗呢?这个地图梗会有什么意思呢?那么接下来就和小编一起来看看LOL地图梗详解,喜欢的小伙伴们快来看看吧,希望对大家有所帮助。
扫描二维码}

我要回帖

更多关于 level2是什么意思 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信