`
wsqwsq000
  • 浏览: 689955 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

cocos2d开发时的touch事件

 
阅读更多

 

 

在使用cocos2d开发游戏时,免不了要涉及到touch事件。 使用CCLayer时,可以简单的设置self.isTouchEnable = YES,然后改写 – (void)ccTouchesBegan:(NSSet *)touches withEvent:(UIEvent *)event 方法,即可实现触摸事件的接收及处理。 但如果使用CCSprite甚至CCNode时,则必须手动添加代理协议才可以接收事件。 协议的具体使用方法网上有很多,这里就不再赘述,我主要说一下,使用这种方法时需要注意的一点。 当使用CCTouchDispatcher的 -(void) addTargetedDelegate:(id<CCTargetedTouchDelegate>) delegate priority:(int)priority swallowsTouches:(BOOL)swallowsTouches 或-(void) addStandardDelegate:(id<CCStandardTouchDelegate>) delegate priority:(int)priority 添加事件代理后,请勿必记得,在release前,删除添加的代理 否则会出现无法释放内存的现象 具体表现为: 假设A场景中某层使用了[[CCTouchDispatcher sharedDispatcher] addTargetedDelegate:self priority:0Touches:YES] 将自身添加为触摸事件接收者 而在切换至场景B时,没有将该代理删除,则场景B中的Touch事件接收者仍然会被场景A中该层接收,即,场景A未能完全释放内存。 解决方法:旦凡显示添加代理的层,在退出前也需要显示删除 可以在 onExit函数中进行删除

– (void)onExit {   

// 删除Touch代理    

[[CCTouchDispatcher sharedDispatcher] removeDelegate:self];   

//别忘了调用父类的onExit方法    

[super onExit];

}

 

 

 

分享到:
评论

相关推荐

    cocos2d-touch事件

    在本篇文章中,我们将深入探讨cocos2d中的touch事件机制以及如何添加cclayer层。 首先,让我们理解什么是cclayer。在Cocos2d-x中,ccLayer是一个继承自ccNode的类,它是场景(ccScene)中的基本元素,用于组织和...

    cocos2d-x TouchDemo

    【cocos2d-x TouchDemo】是一个基于cocos2d-x框架的示例项目,它主要展示了如何在游戏或应用中处理触摸事件。cocos2d-x是一个流行的开源跨平台2D游戏开发框架,广泛应用于iOS、Android以及Windows等多平台的开发。在...

    Cocos2D-X开发学习笔记-触屏事件使用示例

    在Cocos2D-X中,触屏事件主要通过`Touch`类和`TouchEvent`类来实现。`Touch`代表一次触摸行为,而`TouchEvent`则包含了多个`Touch`对象,表示一次多点触摸事件。开发者可以通过重写`Layer`或`Scene`的触摸事件回调...

    xtzf2 ios cocos2d box2d touch 带粒子效果的火球

    在iOS游戏开发中,Cocos2D和Box2D是两个非常重要的库,它们分别用于2D图形渲染和物理模拟。本示例项目"xtzf2"是一个利用这两个库创建的简单游戏,其中包含了触摸控制和粒子效果的火球元素。下面我们将详细探讨这些...

    cocos2d-x 双指缩放,单指拖动,双击自动放大地图

    在Cocos2d-x游戏开发中,实现"双指缩放,单指拖动,双击自动放大地图"的功能是一项常见的交互设计,它为玩家提供了更直观、更友好的操作体验。下面将详细讲解如何利用Cocos2d-x库来实现这些功能。 一、双指缩放 ...

    cocos2d-xTest

    在cocos2d-xTest这个项目中,我们主要关注的是如何处理触摸事件以及对应用程序的安全检查。cocos2d-x是一个跨平台的游戏开发框架,它允许开发者使用C++或者其他支持的语言(如Lua、JS)来创建2D游戏、应用和其他交互...

    cocos2d-x权威指南

    根据提供的信息,“cocos2d-x权威指南”这一标题与描述明确指出了本文将围绕cocos2d-x这一游戏开发框架展开深入探讨。cocos2d-x是一款非常流行的跨平台游戏开发引擎,支持多种编程语言如C++、JavaScript等,并且能够...

    xcode cocos2d工具包

    当Xcode与Cocos2d结合时,可以实现一个强大的开发环境,让开发者能够快速构建高质量的2D游戏。本篇将深入探讨"Xcode cocos2d开发集成工具包"的相关知识点,帮助开发者更好地理解并利用这一组合进行游戏开发。 1. **...

    知易cocos2d源代码

    10. **Touch事件处理**:Cocos2D支持触摸事件,允许开发者根据用户的触摸输入来控制游戏逻辑。 学习【知易cocos2D源代码】,初学者将接触到以下关键知识点: 1. **Objective-C编程语言**:Cocos2D基于Objective-C...

    Cocos2d-x跑酷(StarterKit)游戏源码

    Cocos2d-x是一款流行的开源游戏开发框架,主要用于创建2D游戏、演示程序和其他图形交互应用。这个"跑酷(StarterKit)游戏源码"是基于Cocos2d-x框架构建的一个Android游戏项目,旨在为开发者提供一个基础的跑酷类...

    cocos2d中文版

    cocos2d for iPhone是一款专为苹果设备设计的游戏开发框架,适用于iPhone、iPod Touch以及iPad平台。它采用Objective-C语言编写,这使得开发者能够充分利用苹果的官方文档和SDK,实现更深层次的集成与优化。cocos2d...

    知易 Cocos2D-iPhone 游戏开发教程 004

    ### 知易 Cocos2D-iPhone 游戏开发教程 004:用户输入处理机制详解 #### iPhoneOS的Touch事件与基础知识 在深入探讨Cocos2D-iPhone的游戏开发之前,首先需要理解iPhoneOS如何处理用户的触摸输入。这部分内容主要...

    cocos2d入门cocos2d入门

    Cocos2d是一个开源的游戏开发框架,主要用于创建2D游戏、演示和其他图形交互应用。它在iOS和Android等平台上广泛使用。本篇文章将带你入门cocos2d,讲解环境搭建、基本概念以及如何进行触控输入和适配Retina显示。 ...

    Cocos2d-x 自定义可接受处理触摸信息精灵类

    在Cocos2d-x游戏开发框架中,精灵(Sprite)是基本的游戏对象,通常用于显示2D图像。自定义精灵可以扩展Cocos2d-x的标准精灵功能,使其具备特定的行为或交互方式,例如处理触摸事件。本教程将通过一个简单的例子,...

    learn_cocos2d_2

    根据给定的文件信息,我们可以总结出一系列与Cocos2d相关的IT知识要点,这些要点主要围绕游戏开发、iOS编程以及使用Cocos2d引擎进行游戏制作的关键概念和技术。 ### Cocos2d游戏开发入门 #### 引言:游戏开发的新...

    在IPhone上用Cocos2d做的一个小游戏

    例如,当用户触摸屏幕时,我们可以监听Touch事件,触发忍者发射飞镖的动作。这涉及到EventDispatcher的事件监听和处理,以及Action对象的创建和执行,如MoveTo、RotateTo等,来模拟飞镖的飞行轨迹和旋转效果。 ...

    cocos2d-x手势识别(单击、双击、各形状)

    在cocos2d-x这个强大的2D游戏开发框架中,手势识别是实现用户交互的关键技术。本主题将深入探讨如何在cocos2d-x中实现单击、双击以及自定义形状的手势识别,帮助开发者为游戏或应用增添丰富的用户交互体验。 一、...

    cocos2d-x-3.2文档

    首先,我们要了解Cocos2d-x中的事件分发系统。在3.0版本之后,事件处理不再直接在节点上进行,而是通过事件监听器(EventListener)和事件分发器(EventDispatcher)来完成。事件分发器负责接收和分发事件到相应的...

    Cocos2D 基础开发

    ### Cocos2D基础知识与iOS游戏开发详解 #### 第一章:引言 在本章节中,作者首先向读者提出了一个问题:“你是否曾想象过自己编写一款计算机游戏,并且能够通过销售这款游戏赚钱?”随着苹果公司的iTunes App ...

    cocos2d-x学习笔记(10)--touchEvent.rar

    在cocos2d-x游戏开发中,触摸事件(touch event)是用户与设备屏幕交互的主要方式,对于构建具有触控功能的游戏或应用至关重要。本学习笔记将深入探讨cocos2d-x中的触摸事件处理机制,以及如何在项目中有效地利用...

Global site tag (gtag.js) - Google Analytics