Cocos2dx 3.0 过渡篇(三) 触摸机制

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情

尊重原创,转载请注明来自:star特530的CSDN博客 http://blog.csdn.net/start530/article/details/18325493

本来在中午休息时间打算大展拳脚,好好写一篇新触摸机制相关的博文,结果,等真正下手的时候才发现无从下手,很多地方自己都说不清,赶紧看了下testCpp,才发现原来是这样,还可以这样,哦?这样都行?哎,我还是太年轻了。

 

咱也只能挑简单的讲了。

假设要实现拖动一个精灵移动,那我们的步骤是:

1、 创建一个精灵sprite

2、一个触摸事件 listener ,设置listener的onTouchBegan,onTouchMoved,onTouchEnded;

3、将sprite 和 listener关联起来。

 

实现如下:

1、 创建精灵:

    Point origin = Director::getInstance()->getVisibleOrigin();
    Size size = Director::getInstance()->getVisibleSize();
    
    auto sprite = 
CocosCreator-3D 3D物体触摸移动(跟随移动) 版本:cocoscreator3.4.0 基本原理: 通过触摸屏幕上的点生成一个射线,通过物理射线检测,获得是否点击到物体 通过射线的检测结果(raycastResults)获得碰撞点(hitPoint) 设置物体的x,z为碰撞点的x,y即可 import { _decorator, Component, Node, Camera, geometry, input, Input, EventTouch, PhysicsSystem, math, clamp, Vec3 } from 'cc'; . 阅读详情

相关推荐

Cocos2dx 3.0 过渡(一) 初体验

auto sprite = Sprite::create("file.png"); ... auto listener = EventListenerTouchOneByOne::create(); listener->setSwallowTouch(true); listener->onTouchBegan = [](Touch* touch, Event* event) { do_some_thing(); return true; }; listener->onTouchMoved

天涯海阁 2万+

cocos3.0通过精灵控制精灵的触摸事件的实现

auto listener = EventListenerTouchOneByOne::create(); listener->setSwallowTouches(true); auto sprite = this->getChildByTag(virTag)->getChildByTag(jumpTag); listener->onTouchBegan = CC_CALLBACK_2

Oo泡泡糖oO的专栏 2357

Cocos2dx 3.0 过渡(二十四)死不了的贪食蛇(重力版)

近来cocos2dx的论坛刮起了一阵制作贪食蛇的潮流,我也打算来凑个热闹。不过主要目的还是因为在写3.0过渡的系列博客时讲的都是理论,缺少实践。这次就用贪食蛇的例子较为系统的介绍3.0与2.0的一些不同之处。(当然了,如果版本能看在我码字辛苦的份上施舍我一本书,那我还是很乐意接受的,我的收获地址是...)。

天涯海阁 6221

cocos TableView滑动块

#ifndef _SCROLL__BAR__H_ #define _SCROLL__BAR__H_ #include "cocos2d.h" #include "ui/UIScale9Sprite.h" namespace cocos2d {     namespace extension {     enum SclBarDirection     {

erweimac的博客 626

cocosCreator 滑动屏幕事件(tilemap)

1、初始化(添加监听) this.scale = 1; this.isDistance = true; var listener = { event: cc.EventListener.TOUCH_ALL_AT_ONCE, o...

huanghuipost的博客 4531

cocos2d-3.0 Helloworld::onTouchMoved的处理机制的推測

bool sign2 = true; bool sign2 = true; void GameLayer::onTouchMoved(Touch *touch, Event *unused){ if(sign){ sign = false; ** if(sign2){ CCLOG("RUNNING!"); sign2 = false; sig...

aofan9566的博客 180

Cocos2dx 3.0 提高触摸机制

转载 http://blog.csdn.net/start530/article/details/18325493 Cocos2dx 3.0 提高触摸机制 分类:cocos2d-x学习笔记2014-01-15 22:26222人阅读评论(0)收藏举报 本来在中午休息时间打算大展拳脚,好好写一触摸机制相关的博文,结果,等真正下手的时候才发现无从下手...

aice1980的专栏 276

cocos2dx 3.0 触摸机制

cocos2dx 3.0版本中,废弃了以往2.x版本的写法,我们先来看一下Layer.h中的一段代码 /* Callback function should not be deprecated, it will generate lots of warnings. Since 'setTouchEnabled' was deprecated, it will make warni

shun_fzll的专栏 7126

COCOS2DX3.03触摸响应机制

现在网上关于3.0的资料实在是有点少,不过我还是很喜欢3.0的风格的,C++11也带来了很多方便。 其实说的是4种触摸机制,其实有一部分cocos2dx已经不建议用了,会爆出大量警告。 第一种是采用函数回调,主要是用于MenuItem [cpp] view plaincopy // a selector callback  void menuCloseCallback(

ranky2009的专栏 798

cocos2dx 3.X 触摸吞噬功能

对话框是什么,大家应该比较清楚。模态对话框就是当前对话框出现的时候不能对当前对话框以外的元素进行操作的一种对话框。 但是这时候常常会有一个问题,就是覆盖之后,下层的点击操作依然会被相应。 可以在上层对话框层实现触摸吞噬,就是将所有触摸操作拦截在当前层不让其在下层有所响应。

IronYoung_不惧未来 5330

cocos2dx3.0 触摸事件

最新稳定版本的3.0版本对原先的一些方法都做了修改,其中就包括了关于触摸

xiao艾66的专栏 1727

Cocos2dx 3.0 过渡(二) 事件回调

auto action1 = CallFunc::create( [&](){ auto s =Director::sharedDirector()->getWinSize(); auto label =LabelTTF::create("called:lambda callback", "Marker Felt", 16); label->setPosit

天涯海阁 2万+

Cocos2dx 3.0 过渡(二十五)死不了的贪食蛇(触摸)

上一写的贪食蛇的重力感应控制版,这一就讲下触摸控制版吧。额,也不知道写了那个贪食蛇教程到底有没有获得沈老师的书,如果没有的话,看我不拿西瓜刀砍掉 偶尔E往事 的那啥! 触摸版与重力版的代码大部分都一样,不一样的地方就是要将打开重力感应换成创建一个触摸监听。

天涯海阁 927

cocos2dx学习之路----第八(初识触摸机制中的单点触摸

上一中介绍了坐标转换的问题,这一就来浅谈关于cocos2dx中比较重要的一个知识点-------触摸机制。 在游戏中,不仅仅只需要画面的变动,更多的是需要与其中的实体对象进行交互。PC端的游戏可以通过鼠标、键盘,而对于移动端更多的是用触摸。所以,这里所讲的触摸也基本针对移动端的。当然,往往在我们PC端开发过程中,鼠标能够当作一个触摸点来进行交互。但是,这远远不够的,毕竟移动端在触摸的时候肯定有多点的交互。

小乐子的博客 1794
上一篇: Cocos2dx 3.0 过渡篇(二) 事件回调
下一篇: Cocos2dx 3.0 过渡篇(四) 创建项目
star特530
博客等级 码龄15年 1203粉丝 122原创
评论 9
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值