`
473687880
  • 浏览: 487402 次
文章分类
社区版块
存档分类
最新评论

cocos2d-x aplha3.0中添加touch事件

 
阅读更多

如果你想在layer子类里像原来那样override CClayer里的这几个函数:

   // Deprecated touch callbacks.
    CC_DEPRECATED_ATTRIBUTE virtual bool ccTouchBegan(Touch *pTouch, Event *pEvent)  final{CC_UNUSED_PARAM(pTouch); CC_UNUSED_PARAM(pEvent); return false;};
    CC_DEPRECATED_ATTRIBUTE virtual void ccTouchMoved(Touch *pTouch, Event *pEvent)  final{CC_UNUSED_PARAM(pTouch); CC_UNUSED_PARAM(pEvent);}
    CC_DEPRECATED_ATTRIBUTE virtual void ccTouchEnded(Touch *pTouch, Event *pEvent)  final{CC_UNUSED_PARAM(pTouch); CC_UNUSED_PARAM(pEvent);}
    CC_DEPRECATED_ATTRIBUTE virtual void ccTouchCancelled(Touch *pTouch, Event *pEvent)  final{CC_UNUSED_PARAM(pTouch); CC_UNUSED_PARAM(pEvent);}
    
    CC_DEPRECATED_ATTRIBUTE virtual void ccTouchesBegan(Set *pTouches, Event *pEvent)  final{CC_UNUSED_PARAM(pTouches); CC_UNUSED_PARAM(pEvent);}
    CC_DEPRECATED_ATTRIBUTE virtual void ccTouchesMoved(Set *pTouches, Event *pEvent)  final{CC_UNUSED_PARAM(pTouches); CC_UNUSED_PARAM(pEvent);}

你会发现编译错误,因为C++11的新关键字final被添加上去了,不允许被重载了。

那该怎么办呢?

cocos2d-x增加了新的机制来添加事件:

举个例子就明白了:

void OptionLayer::createEventListener()
{
	 auto dispatcher = EventDispatcher::getInstance();
	 auto listener = EventListenerTouch::create(Touch::DispatchMode::ALL_AT_ONCE);

	 listener->onTouchesBegan = CC_CALLBACK_2(OptionLayer::myTouchesBegan, this)	;

	 listener->onTouchesMoved = CC_CALLBACK_2(OptionLayer::myTouchesMoved, this)	;

	 listener->onTouchesEnded = CC_CALLBACK_2(OptionLayer::myTouchesEnded, this)	;

	 dispatcher->addEventListenerWithSceneGraphPriority(listener, this);
}



void OptionLayer::myTouchesBegan( const std::vector<Touch*>& ts, Event* event )
{
	auto winSize = Director::getInstance()->getWinSize();
	auto iter = ts.begin();

	while (iter != ts.end()) {
		Touch *t = (Touch*)(*iter);
		Point p = t->getLocation();
		// left,当触控操作的起点小于屏幕宽度的一半,说明触控发生在左屏
		if (p.x <= winSize.width / 2) {
			_activityJoystick(p);
		} else {
			// right,否则发生在右屏,会产生“攻击”信号
			_delegator->onAttack();
		}

		iter++;
	}
}

好了,注意lamba函数的建立,一般按照上面建立比较好!



分享到:
评论

相关推荐

    cocos2d-x-3.0 类图

    这是我重新弄的cocos2d-x-3.0的类图.之前别人兄台弄的,有些不全面,有些地方错误.我这个可以说是最新的了.每个类添加了中文的详细注解,同时也添加了中文的类名称翻译.这样对cocos2d-x-3.0的框架比较好上手. 有兴趣的...

    cocos2d-x 3.0

    cocos2d-x 3.0 人物行走 . 包里有代码和 图片资源.

    Cocos2d-x3.0正式版 练练看 源码

    Cocos2d-x3.0正式版 练练看 源码。有注释。

    Cocos2d-JS v3.0官方api文档

    Cocos2d-JS v3.0官方api文档

    Cocos2d-x实战:JS卷——Cocos2d-JS开发

    资源名称:Cocos2d-x实战:JS卷——Cocos2d-JS开发内容简介:本书是介绍Cocos2d-x游戏编程和开发技术书籍,介绍了使用Cocos2d-JS中核心类、瓦片地图、物理引擎、音乐音效、数据持久化、网络通信、性能优化、多平台...

    cocos2d-x-3.0.zip

    方便下载 源码 旧版本 3.0 官网找不到了 cocos2d-x-3.0.zip

    cocos2d-x事件类

    谨记,该事件只能用于cocos2d-x中。 事件发送者需要继承EventDispatcher类 事件接收者需要继承EventHandle类,还需要实现handleEvent方法 事件发送者和事件接收者要在构造函数和析构函数中调用一下方法 事件发送者...

    兄弟连cocos2d-x3.0 final视频教程完整版

    兄弟连cocos2d-x3.0 final视频教程 1.Cocos2d-x手机游戏开发C编程基础 2.Cocos2d-x手机游戏开发C++编程基础 3.Cocos2d-x3.0 final手机游戏开发核心技术 4.实例:贪吃蛇 5.实例:微信飞机大战

    cocos2d-x 3.0 类关系图

    这是cocos2d-x 3.0 类关系图, 这个制作者是:gamecocos2dx 他做的Xmind,我导出的PNG格式,我推荐还是看Xmind,里面还有一些注释 gamecocos2dx Xmind下载地址:...

    cocos2d-x-2.1.5

    cocos2d-x-2.1.5

    Cocos2d-x-3.x游戏开发之旅

    Cocos2d-x-3.x游戏开发之旅-钟迪龙著 全新pdf版和附书代码(代码为工程文件,可复制) 附带目录标签

    cocos2d-x3.0rc0 中文API

    这是一个cocos2d-x 3.0中文开发文档.

    大富翁手机游戏开发实战基于Cocos2d-x3.2引擎

    资源名称:大富翁手机游戏开发实战基于Cocos2d-x3.2引擎内容简介:李德国编著的《大富翁手机游戏开发实战(基于 Cocos2d-x3.2引擎)》使用Cocos2d-x游戏引擎技术,带领读者一步一步从零开始进行大富翁移动游戏的开发...

    Cocos2d-x高级开发教程

    书中汇聚了热门手机游戏《捕鱼达人》开发的实战经验,作者从最基础的内容开始,逐步深入地介绍了Cocos2d-x的相关知识点。此外,书中的教学资源获得《捕鱼达人》手机游戏的授权,读者可以从一流游戏开发中高起点地...

    Cocos2d-JS-v3.0-API

    离线版Cocos2d-JS-v3.0 API,方便查阅

    cocos2d-x-3.2旧版引擎下载

    cocos2d-x-3.2下载,不多说。或者可以下载另一个资源 cocos引擎老版本集合(cocos2d-x-2.2.1 - 3.5) http://download.csdn.net/download/crazymagicdc/9982656

    cocos2d-x实战项目

    cocos2d-x实战项目 01.cocos2d-x原理及环境配置.rar 03.cocostudio使用方法及UI控制.rar 04.XML文件读取与骨骼动画.rarcocos2d-x实战项目 01.cocos2d-x原理及环境配置.rar 03.cocostudio使用方法及UI控制.rar 04.XML...

    Cocos2D-X游戏开发技术精解

    资源名称:Cocos2D-X游戏开发技术精解内容简介:Cocos2D-X是一款支持多平台的 2D手机游戏引擎,支持iOS、Android、BlackBerry等众多平台。当前,很多移动平台流行的游戏,都是基于Cocos2D-X开发的。 《Cocos2D-X...

    经典版本 方便下载 源码 旧版本 3.8 官网找不到了 cocos2d-x-3.8.zip

    经典版本 方便下载 源码 旧版本 3.8 官网找不到了 cocos2d-x-3.8.zip

    精通COCOS2D-X游戏开发 基础卷_2016.4-P399-13961841.pdf

    精通COCOS2D-X游戏开发 精通COCOS2D-X游戏开发 精通COCOS2D-X游戏开发 精通COCOS2D-X游戏开发 精通COCOS2D-X游戏开发

Global site tag (gtag.js) - Google Analytics