cocos2dx遮蔽列表的觸控
對於cocos2dx遮蔽列表的觸控的問題,我用一個實戰的粒子來說明一下
- 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個地方
在CODE上檢視程式碼片派生到我的程式碼片
- listener1->setSwallowTouches(true);//設定禁止想下傳遞觸控
- //以下兩段程式碼二選一
- //第一段是可以自由設定觸控優先順序
- //但是不繫結任何東西
- _eventDispatcher->addEventListenerWithFixedPriority(listener1,-128);
- //這一段是設定觸控繫結到精靈,優先順序為預設的0
- //_eventDispatcher->addEventListenerWithSceneGraphPriority(listener1,background);
還有一點值得注意的是,觸控優先順序越低的越先被觸控。相同優先順序的,後新增的先被觸控
相關文章
- wpf 觸控 觸控後無法開啟pupup
- Unity觸控式螢幕觸控事件定義Unity事件
- Mac如何防止觸控板誤觸?關閉MacBook系列筆記本觸控板的方法Mac筆記
- ScrollView 觸控事件View事件
- 觸控檯燈
- JS觸控事件JS事件
- 筆記本觸控板手勢大全 觸控板快捷手勢筆記
- 華碩win10插入滑鼠時觸控板禁用觸控板的具體教程Win10
- 低功耗抗干擾2路觸控檢測晶片,2通道2鍵觸控觸控IC-VK3702DM晶片
- archlinux 觸控板手勢配置Linux
- win10觸控板怎麼關閉_win10關閉觸控板的步驟Win10
- 新鮮出爐:appium2.0+ 單點觸控和多點觸控新的解決方案APP
- win10觸控板快捷操作_win10觸控板手勢設定Win10
- 高抗干擾 低功耗VK36E4-4通道/四觸控觸控晶片,4按鍵觸控檢測晶片晶片
- Win7筆記本禁用觸控板的方法 Win7怎麼禁用觸控板功能?Win7筆記
- 觸控板觸控式螢幕禁止手指縮放,這麼處理才行
- GhostTouch:針對智慧觸控式螢幕的非接觸性攻擊
- Android中觸控事件的傳遞機制Android事件
- Flutter:如何響應觸控事件Flutter事件
- 設定單點觸控splitMotionEvents
- 通訊錄觸控下拉demo
- Jetpack Compose(7)——觸控反饋Jetpack
- 觸控事件獲取座標事件
- 15.阻止觸控竊賊
- 通過解讀WPF觸控原始碼,分析WPF插拔裝置觸控失效的問題(問題篇)原始碼
- dell 5110 win10關閉觸控的方法_dell 5110 win10關閉觸控操作步驟Win10
- 觸控遊戲CEO賈晨及管理團隊全資收購觸控遊戲遊戲
- linux 取消筆記本觸控鍵Linux筆記
- Android 觸控式螢幕驅動Android
- Android觸控事件傳遞機制Android事件
- 觸控板增強神器:Bettertouchtool for MacMac
- Touch Bar Piano for mac觸控鋼琴Mac
- Himax 10.36寸 incell觸控除錯除錯
- Scrollow for mac(觸控板手勢工具)1.6.4Mac
- 觸控板和滑鼠增強Middle
- 觸控板增強工具:Bettertouchtool MacMac
- Bettertouchtool for Mac觸控板增強工具Mac
- win10觸控鍵盤怎麼開啟_win10開啟關閉觸控鍵盤的步驟Win10