中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Cocos2d-x 單點觸摸

發布時間:2020-09-22 14:55:47 來源:網絡 閱讀:1090 作者:杜甲同學 欄目:游戲開發

Cocos2d-x 單點觸摸





首先,要在.h文件中注冊觸摸事件的回調方法:


bool ccTouchBegan(cocos2d::CCTouch *pTouch, cocos2d::CCEvent *pEvent);
void ccTouchEnded(cocos2d::CCTouch *pTouch, cocos2d::CCEvent *pEvent);
void ccTouchMoved(cocos2d::CCTouch *pTouch, cocos2d::CCEvent *pEvent);


.cpp文件實現如下:

bool HelloWorld::init()
{
    //////////////////////////////
    // 1. super init first
    if ( !CCLayer::init() )
    {
        return false;
    }
    //在實現單點觸摸之前,需要為我們的觸摸事件進行注冊:
    //這里的三個參數,第一個:是哪個對象進行觸摸注冊,第二個:觸摸優先級   第三個是否吞噬掉本次觸摸事件
    CCDirector::sharedDirector()->getTouchDispatcher()->addTargetedDelegate(this, 0, true);
                            
    //所謂觸摸事件的優先級,就是如果我們在一個場景中注冊了多個觸摸事件,誰會先接受到這次觸摸事件,優先級數值越小,優先級越高,也就會優先得到這次觸摸事件,它可以選擇是否處理這次觸摸,以及是否將這次觸摸傳遞下去.值得一提的是,CCMenu的優先級是-128。
    //所謂吞噬事件,就是說如果我們選擇true,并且處理這個事件,那么觸摸事件就不會發送給其他代理。
       return true;
}



//開始觸摸的回調方法
bool HelloWorld::ccTouchBegan(cocos2d::CCTouch *pTouch, cocos2d::CCEvent *pEvent)
{
    //獲取openGL坐標
    CCPoint openglPoint = pTouch->getLocation();
    CCLog("openGL = %f,%f",openglPoint.x,openglPoint.y);
    //獲取屏幕坐標,原點在左上角
    CCPoint screenPoint = pTouch->getLocationInView();
    CCLog("屏幕坐標 = %f,%f",screenPoint.x,screenPoint.y);
                        
    return true;
}



//觸摸移動時的回調方法
void HelloWorld::ccTouchMoved(cocos2d::CCTouch *pTouch, cocos2d::CCEvent *pEvent)
{
    //獲得前一個點的坐標
    CCPoint startPoint = pTouch->getPreviousLocation();
                    
                    
    //獲得當前點的坐標  是按屏幕的坐標獲取的就是說以左上角為原點。
    CCPoint endPoint = pTouch->getLocation();
                    
                  
    CCLog("startPointX = %f,startPointY = %f",startPoint.x,startPoint.y);
    CCLog("endPointX = %f,endPointY = %f",endPoint.x,endPoint.y);
}



//觸摸結束時的回調方法
void HelloWorld::ccTouchEnded(cocos2d::CCTouch *pTouch, cocos2d::CCEvent *pEvent)
{
              
}


代碼下載 http://pan.baidu.com/share/link?shareid=2820307714&uk=3189484501


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

彰化县| 保康县| 玛纳斯县| 和静县| 中江县| 巫山县| 佛山市| 伊金霍洛旗| 朝阳区| 来凤县| 开化县| 济源市| 锦屏县| 北辰区| 安泽县| 南陵县| 社旗县| 乐业县| 房产| 肇东市| 乳山市| 桂东县| 临湘市| 平昌县| 湛江市| 海林市| 阿拉善左旗| 瓦房店市| 平陆县| 改则县| 睢宁县| 贵南县| 九龙坡区| 滨海县| 遂宁市| 溧阳市| 金昌市| 皮山县| 临江市| 舞钢市| 西乡县|