这一节 我将实现让小怪物跟随我的触摸方向移动,同时触摸的地方产生一个四周发散的效果

效果如下:

代码下载:http://www.kuaipan.cn/file/id_25348935635744782.htm?source=1

打开MainLayer.js,把onDidLoadFromCCB函数修改如下,让触摸可用;

MainLayer.prototype.onDidLoadFromCCB = function () {if (sys.platform == 'browser') {this.onEnter();}else {this.rootNode.onEnter = function () {this.controller.onEnter();};}this.rootNode.schedule(function (dt) {this.controller.onUpdate(dt);});this.rootNode.onExit = function () {this.controller.onExit();};this.rootNode.onTouchesBegan = function (touches, event) {this.controller.onTouchesBegan(touches, event);return true;};this.rootNode.onTouchesMoved = function (touches, event) {this.controller.onTouchesMoved(touches, event);return true;};this.rootNode.onTouchesEnded = function (touches, event) {this.controller.onTouchesEnded(touches, event);return true;};this.rootNode.setTouchEnabled(true);
};

在文件底部加入 触摸开始,触摸移动,触摸结束函数;

MainLayer.prototype.onTouchesBegan = function (touches, event) {var loc = touches[0].getLocation();
}MainLayer.prototype.onTouchesMoved = function (touches, event) {cc.log("onTouchesMoved");
}MainLayer.prototype.onTouchesEnded = function (touches, event) {cc.log("onTouchesEnded");
}

再创建小怪物的根据点(x,y)移动的函数;

MainLayer.prototype.monsterMove = function (x, y) {this.monster.stopAllActions();cc.AnimationCache.getInstance().addAnimations("Resources/snow_frame.plist");//添加帧动画文件var action0 = cc.Sequence.create(cc.MoveTo.create(5, cc.p(x, y)));  //向前移动var actionFrame = cc.Animate.create(cc.AnimationCache.getInstance().getAnimation("monster"));   //获取帧动画var action1 = cc.Repeat.create(actionFrame, 90000);var action2 = cc.Spawn.create(action0, action1); //同步动画this.monster.runAction(action2);
}

触摸结束时,加入monsterMove函数,这时触摸一个点,小怪物会立刻移动到该位置;

MainLayer.prototype.onTouchesEnded = function (touches, event) {cc.log("onTouchesEnded");var loc = touches[0].getLocation();this.monsterMove(loc.x, loc.y);
}

按照之前博客教过的在particles目录下创建一个发散粒子,现在在触摸的地方加入发散效果,效果周期为3秒,3秒后消失;

再次打开MainLayer.js,加入创建粒子的函数

MainLayer.prototype.createParticle = function (name, x, y) {var particle = cc.ParticleSystem.create("Resources/particles/" + name + ".plist");particle.setAnchorPoint(cc.p(0.5, 0.5));particle.setPosition(cc.p(x, y));particle.setPositionType(1);particle.setDuration(3);this.rootNode.addChild(particle);
}

同时在触摸结束时加入粒子函数;

MainLayer.prototype.onTouchesEnded = function (touches, event) {cc.log("onTouchesEnded");var loc = touches[0].getLocation();this.monsterMove(loc.x, loc.y);this.createParticle("around", loc.x, loc.y);
}

点击运行;一切OK;

下一篇文章 我会介绍cocos2d-x  editor的音乐和音效       笔者(李元友)

资料来源:cocos2d-x  editor

十 手游开发神器 cocos2d-x editor 之触摸事件相关推荐

  1. 手游开发神器 cocos2d-x editor 教程聚合和代码下载(持续更新中)

    --------------游戏基础教程篇-------------已完成--------- 一 cocos2d-x editor工具下载和基础教程JS篇: 一 手游开发神器 cocos2d-x ed ...

  2. 十二 手游开发神器 cocos2d-x editor 之游戏暂停悬浮层

    进入游戏主场景,游戏需要临时暂停.重新选关.重新玩等等,所以玩家点击暂停按钮,弹出一个选择悬浮层,这一节我们来实现: 效果如下: 点击右上角游戏暂停: 返回回到开始界面: 代码下载:http://ww ...

  3. 一 手游开发工具cocos2d-x editor初识

    可学习的demo: 7个实战项目 flappybird(飞扬小鸟).popstar(消灭星星).fruitninja(水果忍者).2048(数度消除). moonwarriors(月亮战神).frui ...

  4. Unity手游开发札记——移动平台的天气系统实现

    0. 牢骚 我发现,每个月的20+号是我有精力写博客的时间-- 这次项目算是经历的第一次严格意义上的渠道测试,更换了正式名称,见了更多玩家,开发组也经历的更多通宵--评价和数据如何暂时还未揭晓,趁着没 ...

  5. 视频教程-H5入门-系列手机游戏开发-过河-手游开发

    H5入门-系列手机游戏开发-过河 20年软件项目开发管理经验 工信部人才交流中心特聘专家讲师 日本U-CAN在线教育特聘主任讲师 国家十二·五规划软件工程教材作者(书:清华大学出版社出版) 中国软件行 ...

  6. Cocos2d-x 手游开发群:296733909

    2019独角兽企业重金招聘Python工程师标准>>> #Cocos2d-x 手游开发群:296733909 转载于:https://my.oschina.net/skyhacker ...

  7. Unity3D教程:手游开发常用排序算法 -下

    五.堆排序(Heap Sort) 1. 基本思想: 堆排序是一树形选择排序,在排序过程中,将R[1..N]看成是一颗完全二叉树的顺序存储结构,利用完全二叉树中双亲结点和孩子结点之间的内在关系来选择最小 ...

  8. 视频教程-红孩儿网狐Cocos经典棋牌开发教程-手游开发

    红孩儿网狐Cocos经典棋牌开发教程 中国早期游戏程序员,2003年起从事游戏程序开发,负责开发过多款游戏项目,曾担任大型端游<无限世界>自研引擎技术负责人,2012年起关注Cocos引擎 ...

  9. 手游开发中你需要了解的开发语言知识

    如今手机游戏已经成为人们生活之中不可缺少的娱乐活动,手机游戏的种类也越来越多.对于手游发烧友来说,你是否了解手机游戏开发都是使用的事什么开发语言呢?下面我们就一起来看看手游开发中你需要了解的开发语言知 ...

最新文章

  1. Python基础07-数据类型:字典dict
  2. Python操作Firefox
  3. 手持发光棒的结构解析
  4. WCF Data Service文章列表
  5. c语言程序填空打印出1 1000,计算机应用类专业综合复习试题(一)
  6. Python基础教程(第3版)之一些内置的异常类
  7. 测开之路十五:构造函数、析构函数
  8. BeanFactory和ApplicationContext对比
  9. 服务器系统装软路由,服务器系统设置软路由
  10. python的三种结构_Python控制结构,python
  11. CDLL和WinDLL的区别
  12. 2_python基础—格式化符号(输入、输出、转义、结束)
  13. shell学习之循环命令
  14. redis 慢消费_Redis精进:List的使用和应用场景
  15. [转载]刘继东:个人知识管理-走出去,请进来
  16. 数据结构C语言版第二版答案 严蔚敏 李冬梅 吴伟民 编著
  17. android+自定义跑马灯,Android自定义图文跑马灯效果
  18. 五、服务总线 - Bus
  19. ios app上架审核被拒及解决总结
  20. 合泰单片机点灯c语言程序,ht66f018合泰单片机暖风机的C语言源程序

热门文章

  1. Android趣味课程:寻觅红桃A的翻牌游戏
  2. 前端程序媛辞职考研没上岸的结果
  3. Java 向数组中添加元素
  4. Docker-docker安全
  5. 华硕bios开启虚拟化linux,华硕主板进入bios后怎么开启VT虚拟化技术选项?
  6. 台式计算机 主控芯片型号,浅谈常见SSD主控以及芯片
  7. 【干货分享】2023美团软件测试面试题汇总
  8. 华为云云服务器 - 设置 python 定时脚本 || 设置后台运行程序
  9. 怎么提取视频音频?音视频分离的妙招
  10. Linux(三)用户组管理