溫馨提示×

溫馨提示×

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

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

cocos2d-x項目101次相遇:3.0 的點擊事件,CCTouchDelegate已經(jīng)停用了

發(fā)布時間:2020-07-22 11:51:04 來源:網(wǎng)絡 閱讀:1145 作者:中游學院 欄目:游戲開發(fā)
  • cocos2d-x 101次相遇 / 目錄
    1   安裝和環(huán)境搭建 -xcode
    2   Scenes , Director, Layers, Sprites
    3   建立圖片菜單
    4   在HelloWorld上--建立新場景
    5   增加一個精靈sprite
    5.1   縮小sprite并使之完整顯示

    6   action ,移動sprite
    7   3.0 的點擊事件,CCTouchDelegate已經(jīng)停用了
    8   使用觸摸事件移動 精靈


cocos2d-x 3.0 不再使用 TouchDelegate方式來將touch事件捆綁到sprite上。

新的方法是

  1. auto listener =EventListenerTouchOneByOne::create();

  2.    listener->setSwallowTouches(true);

  3.    listener->onTouchBegan = CC_CALLBACK_2(CMyFirstScene::onTouchBegan,this);

  4.    listener->onTouchMoved = CC_CALLBACK_2(CMyFirstScene::onTouchMoved,this);

  5.    listener->onTouchEnded = CC_CALLBACK_2(CMyFirstScene::onTouchEnded,this);

  6.    _eventDispatcher->addEventListenerWithSceneGraphPriority(listener,this);

這段代碼可以放在.cpp里面的 init里。

頭文件增加:

  1. Sprite*s;

  2. // 初始化

  3. bool onTouchBegan(Touch* touch,Event*event);

  4. void onTouchMoved(Touch* touch,Event*event);

  5. void onTouchEnded(Touch* touch,Event*event);

  6. void selectSpriteForTouch(Point touchLocation);

s 為全局的精靈。

  1. boolCMyFirstScene::onTouchBegan(Touch* touch,Event*event)

  2. {

  3.    CCLOG("TouchBegan");

  4. Point touchLocation =this->convertTouchToNodeSpace(touch);

  5. this->selectSpriteForTouch(touchLocation);

  6. returntrue;

  7. }

  8. voidCMyFirstScene::onTouchMoved(Touch* touch,Event*event)

  9. {

  10.    CCLOG("TouchMoved");

  11. }

  12. voidCMyFirstScene::onTouchEnded(Touch* touch,Event*event)

  13. {

  14.    CCLOG("TouchEnded");

  15. }

  16. voidCMyFirstScene::selectSpriteForTouch(Point touchLocation)

  17. {

  18. if(s->getBoundingBox().containsPoint(touchLocation))

  19. {

  20. Action* actionMove =

  21. MoveTo::create(2.0,

  22.                           ccp(300,200));

  23.            s->runAction(actionMove);

  24. }

  25. }

這段代碼,點擊到精靈,精靈就會移動。


向AI問一下細節(jié)

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

AI