cocos2d-x 触摸偏移】的更多相关文章

要让一个  CCLayer 能够接受触摸输入  需要进行如下设置: [selfsetTouchEnabled:YES]; cocos2d-x提供了两种触摸事件处理机制, 分别是CCStandardTouchDelegate 和 CCTargetedTouchDelegate. CCStandardTouchDelegate包含四个回调函数,分别如下: virtual void ccTouchesBegan(CCSet *pTouches, CCEvent *pEvent)   处理用户按下事件…
转自:http://www.cnblogs.com/fjut/archive/2012/04/28/2475693.html //ccTouchBegan必须实现,否则会报错 bool PicScan::ccTouchBegan(CCTouch* pTouch, CCEvent* event) { return true; } void PicScan::ccTouchMoved(CCTouch *touch, CCEvent *event) { //获得触摸点初始坐标 CCPoint begi…
转载请标明:转载自[小枫栏目],博文链接:http://blog.csdn.net/rexuefengye/article/details/10553487 一.纵版射击游戏的特点 纵版射击游戏是一种比较传统的游戏,在各种游戏平台都有非常经典的游戏作品.对于游戏开发者来说,这种游戏题材非常适合加入特效和创新的玩法.但是无论怎样改变,该类游戏都具备以下特点: 滚动背景.主角.敌人.子弹.特效 二.喵星战争简介 喵星战争在传统纵版设计游戏的基础上进行创新.主角不是传统飞机造型,而是一只小猫,敌人也不…
转自:http://blog.sina.com.cn/s/blog_61ece099010187tl.html 手势之前也发过一篇,但是我感觉那个还不够轻巧. 而且大多数游戏里面不会有那么复杂的手势,今天给大家分享下只有简单方向.圆形手势的代码. virtual void ccTouchesBegan(CCSet *pTouches, CCEvent *pEvent);   virtual void ccTouchesMoved(CCSet *pTouches, CCEvent *pEvent)…
1.设备的安装与配置 https://wenku.baidu.com/view/fa172fd7482fb4daa48d4b44.html?from=search 2.接入SDK.实现简单示例场景.更换手柄模型.实现手柄投掷功能 导入SteamVR Plugin.unitypackage 实现头盔观看功能 更换手柄模型 要点 把物体拖到model同级目录,坐标归零 在运行状态下调整模型的大小坐标和旋转值 复制组件value,然后取消运行,粘贴value到物体上 实现手柄投掷功能 按下trigge…
截获鼠标,键盘的消息 监听事件我们都是在Update里面监听的. Unity的虚拟轴打开:Edit-->Project Settings-->Input,打开的各个Name就是双引号里面要填的,记不住就打开查,也可以自己定义一些按键. 一.Input的主要变量 1: mousePosition: 当前鼠标的像素坐标;2: anyKey/anyKeyDown: 当前是否有按键按住; 3: inputString: 本次update时间间隔内输入的字符串;4: acceleration: 重力加速…
Cocos游戏当中产生一个事件时,可以有多个对象在监听该事件,所以有优先级(Priority).优先级越高(Priority值越小),事件响应越靠前. 关系图: 新 事件分发机制:在2.x 版本事件处理时,将要触发的事件交给代理(delegate)处理,再通过实现代理里面的onTouchBegan等方法接收事件,最后完成事件的响应. 而在新的事件分发机制(3.x)中,只需通过创建一个事件监听器-用来实现各种触发后的逻辑,然后添加到事件分发器_eventDispatcher,所 有事件监听器由这个…
2.x的触摸事件的版本号 触摸事件处理有2种子.以下单点触摸的样本.(另一种多点触摸屏). 创建cocos2d 该项目. 1. 重写下面虚函数. bool ccTouchBegan(cocos2d::CCTouch* touch, cocos2d::CCEvent* event); void ccTouchMoved(cocos2d::CCTouch* touch, cocos2d::CCEvent* event); void ccTouchEnded(cocos2d::CCTouch* tou…
在Cocos2D v2.x版本中可以通过以下方法设置本层的触摸优先级: [[CCDirector sharedDirector].touchDispatcher addTargetedDelegate:self priority:-256 swallowsTouches:YES]; 不过以上方法在Cocos2d v3.x中已经不复存在了. 总的来说在v3.x中触摸优先级问题变得更加简单了,它直接和不同层的z-order相关. 越靠近屏幕,即z序越大的层越先响应触摸事件,而z序越小的层越后响应触摸…
1. 设置接受触摸事件,可在init方法里面写上 [self setTouchEnabled: YES]; 旧版为self.isTouchEnabled = YES; xcode会报Deprecations ‘setIsTouchEnabled:’ is deprecated waring 2. 覆盖方法 - (void) registerWithTouchDispatcher{ [[[CCDirector shareDirector] touchDispatcher] addTargetedD…
除了可以监听键盘按键,还可以是终端设备的各个菜单键,都能使用同一个监听器来进行处理. //给statusLabel绑定键盘事件 cc.eventManager.addListener({ event: cc.EventListener.KEYBOARD, onKeyPressed: function(keyCode, event){ var label = event.getCurrentTarget(); //通过判断keyCode来确定用户按下了哪个键 label.setString("Ke…
cc.eventManager.addListener({ event: cc.EventListener.TOUCH_ALL_AT_ONCE, onTouchesMoved: function (touches, event) { var touch = touches[0]; var delta = touch.getDelta(); var node = event.getCurrentTarget().getChildByTag(TAG_TILE_MAP); var diff = cc.…
这是我第一次写cocos的框架思路哈,虽然只是写完了一个程序,按理来说应该再多写一些,多积累一些经验了再来写这个框架的构成,但是我觉得还是把我这次写代码的所有想法先记下来哈,等到以后继续写cocos的程序了,有更多收获了再来把这篇文章给完善了. cocos2d虽然是个游戏引擎,但是实际上是任何的程序都可以使用的哈.因为cocos能兼容任何CocoaTouch为框架的iOS程序,所以cocos能够用在任何程序上.cocos的作用,在我现在的理解来说,就是显示一些图片,然后可以任意改变图片的属性,做…
Cocos-2d中,涉及到4种坐标系: GL坐标系:Cocos2D以OpenglES为图形库,所以它使用OpenglES坐标系.GL坐标系原点在屏幕左下角,x轴向右,y轴向上. getLocation()返回GL坐标系坐标点 屏幕坐标系:苹果的Quarze2D使用的是不同的坐标系统,原点在屏幕左上角,x轴向右,y轴向下. getLocationInView()返回屏幕坐标系坐标点.  ios的屏幕触摸事件CCTouch传入的位置信息使用的是该坐标系.因此在cocos2d中对触摸事件做出响应前需要…
老师手把手教了两天半,看了一下模式,加了几个功能就大功告成了!!! 给我的感想就是全都是指针! 添加图片精灵: CCSprite*  spBG = CCSprite::create(""); this->addChild(spBG); //添加到当前层 spGB->setPosition(ccp(x,y)); //设置坐标 spGB->setScale(0.5); //缩放 文字按钮: CCMenuItemFont* pItem = CCMenuItemFont::c…
1.采用原生javaACript 实现全局触摸按钮 首先在控制台输出,观察事件有哪些关于触摸的字段可以使用,然后拿这些字段的数据开始来写方法. 因为要做的是全局触摸按钮,我需要拿到的是按钮时时的坐标位置,通过改变样式来改变按钮任意移动位置.所以就那了changedTouches里面的值.touches里面放的是touchstart的开始位置.用react的时候,touch事件会和click起冲突,导致链接点击有bug,所以需要那touchstart的值在touchend的时候做判断是点击事件还是…
Android 触摸手势基础 官方文档概览 触摸手势检测基础 手势检测一般包含两个阶段: 1.获取touch事件数据 2.解析这些数据,看它们是否满足你的应用所支持的某种手势. 相关API: MotionEvent 兼容版的: MotionEventCompat  (Note that MotionEventCompat is not a replacement for the MotionEvent class. Rather, it provides static utility metho…
Android 触摸手势基础 官方文档概览 触摸手势检测基础 手势检测一般包含两个阶段: 1.获取touch事件数据 2.解析这些数据,看它们是否满足你的应用所支持的某种手势. 相关API: MotionEvent 兼容版的: MotionEventCompat  (Note that MotionEventCompat is not a replacement for the MotionEvent class. Rather, it provides static utility metho…
游戏的在进行一次渲染的时候,通常会提交大量的渲染对象给gpu.在这些需要渲染的对象中,并不是所有对象都会出现镜头中,即有一部分对象是不可见的. 通常有两种方式来完成不可见对象的剔除工作: (1)直接交给图形库帮我剔除,即性能消耗在gpu端: (2)在提交图元给gpu前,在游戏逻辑中进行剔除,即性能消耗在cpu端: 是将剔除操作放在cpu还是gpu来处理,没有一个具体的标准,个人认为,要根据实际情况,如果逻辑方面可以快速进行剔除,可以交由cpu来处理,但是gpu在这方面经过了优化,具有更快的处理能…
戏说 虽然公司再如何如何,咱程序员在干好课外学习的情况下也是要努力做好本职工作的. 工作中的lua也写多了,深入了解Cocos2d-x当然还是要倒腾倒腾C++,对于一个C#用了这么多年,工作用lua的小菜来说,C++还真是不习惯. Cocos2d-x不知不觉的更新到了3.6版本,真是万人大吐槽,2d还没做清楚又开始弄3d了,触控大神们就不能专心做好一件事情吗,多少大坑没填好,又是各种改命名,每次更新都向学习新库一样...Orz....吐槽完毕还是要好好工作的. 演义 3.6中引入了Frame架构…
http://blog.csdn.net/onerain88/article/details/18963539 . UICamera 功能介绍 主要包括UI事件的监听,分发,覆盖范围为此Camera渲染的所有GameObject. 事件源包括:鼠标,触摸,键盘,手柄. 事件包括:悬停,按下/抬起,选中/取消选中,点击,双击,拖拽,释放,文本输入,Tips显示,滚轮滑动,键盘输入. 2. UICamera 实现流程 (1)属性 Event Type:包括UI,World,用于区分UICamera处…
Cocos2d-x坐标系和OpenGL坐标系相同,都是起源于笛卡尔坐标系(高中数学里面那种). 笛卡尔坐标系 笛卡尔坐标系中定义右手系原点在左下角,x向右,y向上,z向外,OpenGL坐标系为笛卡尔右手系. 屏幕坐标系和Cocos2d坐标系 标准屏幕坐标系使用和OpenGL不同的坐标系,而Cocos2d则使用和OpenGL相同的坐标系. iOS, Android, Windows Phone等在开发应用时使用的是标准屏幕坐标系,原点为屏幕左上角,x向右,y向下. Cocos2d坐标系和OpenG…
// // Single.hpp // dev // // Created by sun on 15/12/20. // // #ifndef Single_hpp #define Single_hpp #include <stdio.h> #include "cocos2d.h" #include "HelloWorldScene.h" USING_NS_CC; class Single : public CCLayer { public: virtu…
为屏幕添加触摸事件,将左上角坐标转换为左下角坐标 package com.arlen.cocos2d.touch01; import org.cocos2d.layers.CCLayer; import org.cocos2d.nodes.CCDirector; import org.cocos2d.types.CGPoint; import android.view.MotionEvent; public class GameLayer extends CCLayer { // 接受用户的触摸…
昨天接触到了cocos2d-html5的的东东了, 第一次看其源代码一头雾水,幸好samples目录下面有几个例子,可以从这个入手. MoonWarriors是一个射击类的游戏, 有点像以前玩的雷电, 一边看代码,一边玩这个游戏,基本上理解了cocos2d里面的一些基本的概念. 游戏里面有四个基本的概念,director, scene, layer, objects(spirte, menuitem, 等). director负责scene的切换,一个scene可以有很多的layer, 每个la…
cocos2dx关于js响应layer触摸消息的bug cocos2d-x 3.7 问题描述: 目前这个版本中(3.7),c++层的layer触摸消息只能通过消息的方式发送给js,不能像lua一样直接回调js注册的触摸回调接口,为了方便,我们更改一下layer类的onTouchBegan/onTouchMove...等接口,使其支持在layer的触摸响应中直接回调js接口. 具体实现见:http://www.cnblogs.com/songcf/p/4764444.html ok,在这之后就会发…
一.响应链 在IOS开发中会遇到各种操作事件,通过程序可以对这些事件做出响应. 首先,当发生事件响应时,必须知道由谁来响应事件.在IOS中,由响应者链来对事件进行响应,所有事件响应的类都是UIResponder的子类,响应者链是一个由不同对象组成的层次结构,其中的每个对象将依次获得响应事件消息的机会.当发生事件时,事件首先被发送给第一响应者,第一响应者往往是事件发生的视图,也就是用户触摸屏幕的地方.事件将沿着响应者链一直向下传递,直到被接受并做出处理.一般来说,第一响应者是个视图对象或者其子类对…
anchor point 究竟是怎么回事? 之所以造成不容易理解的是因为我们平时看待一个图片是 以图片的中心点 这一个维度来决定图片的位置的.而在cocos2d中决定一个 图片的位置是由两个维度 一个是 position  另外一个是anchor point.只要我们搞清楚他们的关系,自然就迎刃而解. 默认情况下,anchor point在图片的中心位置(0.5, 0.5),取值在0到1之间的好处就是,锚点不会和具体物体的大小耦合,也即不用关注物件大小,而应取其对应比率,如果把锚点改成(0,0)…
在第一节中简单介绍了2d项目模板HelloWorld的基础代码,并做了一点小小的改变,像触摸接收.旋转.移动和颜色转变序列CCSequence的使用等等,2d本身封装好了很多方便使用的动作,只需要调用即可,那么这节就来了解更多的方法,并去熟悉我们学过的方法. 单例:cocos2d很好的利用了单例设计模式,单例是在程序生命周期里只被实例化过一次的类,为了确保这一点,我们利用类的一个静态方法来生成和访问对象,就是我们已经见过的的以“shared”开头的方法,而不是用 alloc/init初始化方法.…
学习cocos2d需要一定的编程基础,最好了解objective-c的语法.至于下载和安装的过程网上有很多,这里不多介绍,直接进入项目的学习. 创建一个cocos2d项目,直接运行,效果如图: 左下角显示当前的帧率,即每秒的帧数,更新屏幕的频率. --------------------------------------------------------------------------------------------------------------- 有几个概念必须要理解: 1.…