码迷,mamicode.com
首页 > 其他好文 > 详细

连载:面向对象葵花宝典:思想、技巧与实践(30) - SRP原则

时间:2014-05-08 10:40:42      阅读:330      评论:0      收藏:0      [点我收藏+]

标签:cocos2dx项目   游戏开发   中游学院   coco2d-x培训   cctouchdelegate   

  • cocos2d-x 101次相遇 / 目录 
    1   安装和环境搭建 -xcode 
    2   Scenes , Director, Layers, Sprites
    3   建立图片菜单 
    4   在HelloWorld上--建立新场景 
    5   增加一个精灵sprite 
    5.1   缩小sprite并使之完整显示

    6   action ,移动sprite 
    7   3.0 的点击事件,CCTouchDelegate已经停用了
    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. bool CMyFirstScene::onTouchBegan(Touch* touch, Event* event)
    2. {
    3. CCLOG("TouchBegan");
    4. Point touchLocation = this->convertTouchToNodeSpace(touch);
    5. this->selectSpriteForTouch(touchLocation);
    6. return true;
    7. }
    8. void CMyFirstScene::onTouchMoved(Touch* touch, Event* event)
    9. {
    10. CCLOG("TouchMoved");
    11. }
    12. void CMyFirstScene::onTouchEnded(Touch* touch, Event* event)
    13. {
    14. CCLOG("TouchEnded");
    15. }
    16. void CMyFirstScene::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. }

这段代码,点击到精灵,精灵就会移动。


连载:面向对象葵花宝典:思想、技巧与实践(30) - SRP原则,布布扣,bubuko.com

连载:面向对象葵花宝典:思想、技巧与实践(30) - SRP原则

标签:cocos2dx项目   游戏开发   中游学院   coco2d-x培训   cctouchdelegate   

原文地址:http://blog.csdn.net/yunhua_lee/article/details/25279539

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!