1. 程式人生 > >cocos2d-x-3.x吞噬點選觸控事件

cocos2d-x-3.x吞噬點選觸控事件

使用版本是 cocos2d-x-3.1.4

彈出對話方塊,有一個背景,吞噬觸控或者點選事件,使觸控或者點選事件不被傳遞下去,將addEventListenerWithSceneGraphPriority函式裡面的this改成當前layer就可以啦

// 覆蓋監聽事件
    auto listener = EventListenerTouchOneByOne::create();
    listener -> onTouchBegan = [](Touch* t,Event* e){
        return true;
    };
    Director::getInstance()
->
getEventDispatcher()->addEventListenerWithSceneGraphPriority(listener,this);// this改成自己使用的layer,靈活變通啊 // 吞噬點選事件 listener->setSwallowTouches(true);

順便來個程式碼示例吧:

void MainLayer::createPassLayer()
{
    // bg
    auto layer = LayerColor::create(Color4B::BLACK);
    layer->setOpacity(80
); layer->setPosition(0, 0); pGameLayer->addChild(layer, 1000); // touch listener auto listener = EventListenerTouchOneByOne::create(); listener->setSwallowTouches(true); listener->onTouchBegan = [](Touch* t, Event* e){return true;}; Director::getInstance()->getEventDispatcher()
->
addEventListenerWithSceneGraphPriority(listener, layer); // png auto helpBg = Sprite::create("running_level_pass.png"); helpBg->setAnchorPoint(Vec2(0.5, 0)); helpBg->setPosition(Vec2(winSize.width/2, 0)); layer->addChild(helpBg); // helpBg->runAction(Sequence::create(MoveTo::create(0.5, Vec2(winSize.width/2, winSize.height/2.6)), DelayTime::create(2.0f),CallFuncN::create([this,layer,listener](Ref* pSender){ Director::getInstance()->getEventDispatcher()->removeEventListener(listener); layer->removeFromParent(); pGameLayer->initGrid(true); }),NULL)); }

相關推薦

cocos2d-x-3.x吞噬觸控事件

使用版本是 cocos2d-x-3.1.4 彈出對話方塊,有一個背景,吞噬觸控或者點選事件,使觸控或者點選事件不被傳遞下去,將addEventListenerWithSceneGraphPriority函式裡面的this改成當前layer就可以啦 //

關於cocos2d-x 3.0的擊交互處理

clipboard 3.0 static php 此外 eas -h con spl 轉自:http://blog.csdn.net/fansongy/article/details/12716671 1、概述 遊戲也好,程序也好,僅僅有能與

關於cocos2d-x 3.x Layer 與 Scene 錨更改問題

***************************************轉載請註明出處:http://blog.csdn.net/lttree**************************

cocos2dx 3.x 圖層滑鼠事件的遮蔽

場景:介面新增一個彈出層,阻止彈出層下面的滑鼠事件響應 auto sprite2 = Sprite::create("HelloWorld.png");  // sprite2為彈出層 sprite2->setPosition(Vec2(closeItem->g

Cocos2d-x 3.x序列幀動畫

vector 序列幀 bash cpp ams with 序列 object -s Animation : 一個給精靈對象執行的幀動畫對象。 Animate:是將動畫包裝成動作的類。 AnimationCache:管理動畫的單例。 簡介 Animat

Cocos2d-x 3 X手遊開發例項詳解

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

cocos2d-x 3.X eclipse gradle 多渠道多SDK打包配置教程(二)

根據上一篇的指導,應該已經可以出一個同資源同SDK的包了,現在看下在eclipse gradle下如何像Android studio一樣一鍵打出不同SDK接入的渠道包吧 首先一個專案一個專案的複製貼上到工程下,大概是這樣的 每個渠道都建立好build.gradle,裡

【 專欄 】- Cocos2d-x 3.x 圖形學渲染

Cocos2d-x 3.x 圖形學渲染 該專欄主要是介紹Cocos2d-x 3.x圖形學渲染技術講解,針對的是3D模型的材質渲染,幫助喜歡3D的開發者快速掌握該技術。。。。。

vue2.x v-for下新增class 樣式重新整理不消失 實現類似多的功能

下面程式碼實現的功能: v-for遍歷下的元素,點選哪一個就給哪一個新增changeCollect下的樣式,如果已經添加了樣式,再點選就取消樣式。 點選下一個時,點選過的樣式不會消失,類似於多選 1、template程式碼 <li :class="{changeColl

Cocos2d-x 3.x 頭像選擇器,本地相簿與拍照+頭像編輯功能(Android、IOS雙平臺實現)

大連遊戲行業不是太發達,最後選擇在一家應用外包公司工作,在工作和業餘學習過程中積累了一點微不住道的經驗,希望分享給熱愛遊戲的小夥伴們。 在應用開發過程中會常常有使用者上傳頭像的功能,在網上找了N多資料發現沒有人具體介紹過該用cocos2d-x實現。這篇文章就來介紹一下如何在

Cocos2d-x 3.x中讀取csv資料檔案

遊戲開發中,資料檔案通常是儲存在xml,json,csv等格式的檔案中,這裡實現了CSV檔案的解析。 1.為什麼是CSV?    資料檔案為什麼儲存在CSV檔案中呢?    a,同樣的資料放到CSV中要比放在xml和json中要小。    b,CSV的解析也比較簡單。  

cocos2d-x 3.x 學習與應用總結】4: 理解CC_CALLBACK_0, CC_CALLBACK_1, CC_CALLBACK_2, CC_CALLBACK_3

前言 得益於C++11的新特性,cocos 3.x版本在很多地方的程式碼看起來都優美了許多。這其中就包括一些回撥函式的寫法,CC_CALLBACK_N系列巨集的作用是對一個成員函式進行適配並返回一個回撥函式。本文介紹一下我對CC_CALLBACK_N系列巨集的

cocos2d-x 3.x BabeLua 外掛不能斷點除錯

cocos2d-x 3.x版本, exe 是執行檔案  src是指令碼資料夾 res是資原始檔夾 lua指令碼在src裡面,但是BabeLua設定的指令碼路徑沒有生效,導致找不到指令碼 後來在 AppDelegate.cpp裡面把src加到搜尋路徑下,就可以除錯得到了

cocos2d-x 3.x C++和Lua通訊方式:Lua堆疊正數索引和負數索引的關係和用法

   用cocos2d-x  編寫遊戲的過程中,我們很可能會用到Lua檔案。引用一本書上面的話,Lua最大的優勢在於,不用重新編譯專案就可以修改遊戲邏輯,大大縮減了開發程序。我用的是cocos2d-x

cocos2d-x 3.x遊戲開發學習筆記(1)--mac下配置cocos2d-x 3.x開發環境

原文:http://blog.csdn.net/likendsl/article/details/34617725 開啟使用者目錄下.bash_profile檔案,配置環境  [python] view plaincopyprint? vim ~/.b

用Android studio建立Cocos2d-x 3.X專案

如果你還在用eclipse那你就out了,Android Studio從1.3版開始支援對C++的編輯(雖然從目前來看用Android Studio來編輯C++還比較蛋疼)。而且Cocos2d-x從3.7版開始優化對android studio的支援,相信這一趨勢還會繼續。

Cocos2d-x 3.x 生成和載入plist檔案

一、建立plist檔案 在學習《Cocos2d-x 3.x遊戲開發之旅》時,點選完螢幕以建立很多炮塔的(x, y)座標,使用ValueMap把炮塔座標寫入plist檔案,儲存當前玩家建立的炮塔,以便再次進入遊戲時還原之前的炮塔(根據座標)。下面是建立plist

cocos2d-x 3.X 製作新手引導的按下事件

在新手引導的過程中,我們往往會強制使用者執行指定區域的操作。那麼一般的操作我們是在原有的介面上增加一個遮罩層,指定區域內可以向下傳遞touch事件。而其他區域則吸收掉點選事件。在cocos2d-x 3.x中的簡單實現方式如下。 1.首先我們建立一個主要介面,裡面有一些選單按

Cocos2d-x 3.x學習筆記:猩先生帶你打飛機(四)遊戲場景:背景與我機的建立、敵機的建立、物理世界構建

一、背景與我機的建立 現在我們要建立新的一個場景了。選擇開始遊戲即從選單場景跳到遊戲場景。現在先完善HelloWorldScene的程式碼 找到我們開始遊戲的回撥方法,新增程式碼: //開始遊戲 void HelloWorld::menuStartCa

Cocos2d-x 3.x 圖形學渲染系列三

筆者介紹:姜雪偉,IT公司技術合夥人,IT高階講師,CSDN社群專家,特邀編輯,暢銷書作者,國家專利發明人,已出版書籍:《手把手教你架構3D遊戲引擎》電子工業出版社 和《Unity3D實戰核心技術詳解》電子工業出版社 等。 市面上,跨平臺引擎使用的底層圖形庫都是用Ope