91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

cocos2d-x CCSprite 精靈監聽點擊事件

發布時間:2020-07-06 09:48:41 來源:網絡 閱讀:3786 作者:chenjohney 欄目:游戲開發

參考文章:

cocos2d-x 精靈監聽點擊事件

http://labs.easymobi.cn/?p=5167

實現過程,實現CCTouchDelegate接口,在enter 的時候添加監聽,exit 和析構時移除監聽,點擊時將touch 的坐標轉化為相對精靈的坐標,如果是否在精靈的范圍內,則響應點擊。主要是參考前面兩篇文章中的例子,不同的地方在判斷區域,個人覺得太復雜。所以稍微修改了下,看起來更容易理解。

PianoTile.h

class PianoTile : public cocos2d::CCSprite,public cocos2d::CCTouchDelegate
{
public:
    
    PianoTile();
    ~PianoTile();
    
    //life cycle
    virtual void onEnter();
    virtual void onExit();
    //touch
    virtual bool ccTouchBegan(CCTouch *pTouch, CCEvent *pEvent);
    virtual void ccTouchEnded(CCTouch *pTouch, CCEvent *pEvent);
};

PianoTile.cpp

#include "PianoTile.h"
USING_NS_CC;

#pragma mark - Public Methods
PianoTile::~PianoTile()
{
    CCDirector::sharedDirector()->getTouchDispatcher()->removeDelegate(this);
    _delegate = NULL;
}

#pragma mark Lifecyle
void PianoTile::onEnter(){
    CCDirector::sharedDirector()->getTouchDispatcher()->addTargetedDelegate(this, 0, false);
    CCSprite::onEnter();
}

void PianoTile::onExit(){
    CCDirector::sharedDirector()->getTouchDispatcher()->removeDelegate(this);
    CCSprite::onExit();
}

#pragma mark Touch Delegate

bool PianoTile::ccTouchBegan(CCTouch *pTouche, CCEvent *pEvent){
    CCPoint touchLocation = pTouche->getLocation();
    CCPoint localPoint = convertToNodeSpace(touchLocation);
    CCRect rect = CCRectMake(0, 0, boundingBox().size.width, boundingBox().size.height);
    bool isTouched = rect.containsPoint(localPoint);
    if (isTouched && _delegate) {
        _delegate->pianoTileClick(this);
    }
    
    return isTouched;
}

void PianoTile::ccTouchEnded(CCTouch *pTouche, CCEvent *pEvent){
    
}


向AI問一下細節

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

AI

昌黎县| 商城县| 肇源县| 即墨市| 宜城市| 新乐市| 思茅市| 资中县| 铁力市| 天峨县| 祁门县| 宾阳县| 兰州市| 新兴县| 云浮市| 马龙县| 合阳县| 拜城县| 台南县| 乌拉特后旗| 门头沟区| 汪清县| 攀枝花市| 桓仁| 辽宁省| 高平市| 石景山区| 彰化县| 同仁县| 夏津县| 垣曲县| 韩城市| 岳阳市| 永川市| 灵石县| 叙永县| 保定市| 旺苍县| 临湘市| 隆尧县| 太和县|