Cocos2d-x--非布景层类和非布景层类的子类使用触摸

来源:未知 责任编辑:责任编辑 发表时间:2013-11-15 19:49 点击:

如果非布景层类和其子类想要使用触摸,那么应该继承相应的代理,

如test项目中TouchesTest文件夹中Paddle.h,其类为继承CCSprite

的类,不为布景层类,其使用了代理CCTargetedTouchDelegate

 


与布景层不同的是,注册和注销触摸代理需要在OnEnter()和OnExit()中进行

 


非布景层类和其子类使用触摸的步骤:


1.继承相应的代理,如test项目中TouchesTest文件夹中Paddle.h继承代理CCTargetedTouchDelegate

2.OnEnter()和OnExit()中注册和注销触摸代理

3.实现需要的方法,bool ccTouchBegan(CCTouch* touch, CCEvent *event)是必须实现的

 


例如test项目中TouchesTest文件夹中Paddle.h

 

  virtual void onEnter();
    virtual void onExit();
    virtual bool ccTouchBegan(CCTouch* touch, CCEvent* event);
    virtual void ccTouchMoved(CCTouch* touch, CCEvent* event);
    virtual void ccTouchEnded(CCTouch* touch, CCEvent* event);
void Paddle::onEnter()
{
    CCDirector* pDirector = CCDirector::sharedDirector();
    pDirector->getTouchDispatcher()->addTargetedDelegate(this, 0, true);
    CCSprite::onEnter();
}

void Paddle::onExit()
{
    CCDirector* pDirector = CCDirector::sharedDirector();
    pDirector->getTouchDispatcher()->removeDelegate(this);
    CCSprite::onExit();
}    

 

    发表评论
    请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
    用户名: 验证码:点击我更换图片
    最新评论 更多>>

    推荐热点

    • cocos2d-x学习笔记(19)--label 、label atlas
    • cocos2d-x学习笔记(23)--地图的使用3--CCTMXLayer
    • Cocos2d-x学习(一):HelloWorld
    • cocos2dx在xcode下开发,编译到android上(2)
    • cocos2d 设置屏幕默认方向
    • cocos2d-x学习笔记(22)--地图的使用2(TMX) --Z-Order、AnchorPoi
    • Cocos2d-x 2.0 之 Actions “三板斧” 之一
    • cocos2d-x学习笔记(18)--游戏打包(windows平台)
    • cocos2d-x学习笔记(16)--spritesheet(精灵表单)
    网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
    Copyright © 2008-2015 计算机技术学习交流网. 版权所有

    豫ICP备11007008号-1