十 手游开发神器 cocos2d-x editor 之触摸事件
这一节 我将实现让小怪物跟随我的触摸方向移动,同时触摸的地方产生一个四周发散的效果
效果如下:
代码下载: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 之触摸事件相关推荐
- 手游开发神器 cocos2d-x editor 教程聚合和代码下载(持续更新中)
--------------游戏基础教程篇-------------已完成--------- 一 cocos2d-x editor工具下载和基础教程JS篇: 一 手游开发神器 cocos2d-x ed ...
- 十二 手游开发神器 cocos2d-x editor 之游戏暂停悬浮层
进入游戏主场景,游戏需要临时暂停.重新选关.重新玩等等,所以玩家点击暂停按钮,弹出一个选择悬浮层,这一节我们来实现: 效果如下: 点击右上角游戏暂停: 返回回到开始界面: 代码下载:http://ww ...
- 一 手游开发工具cocos2d-x editor初识
可学习的demo: 7个实战项目 flappybird(飞扬小鸟).popstar(消灭星星).fruitninja(水果忍者).2048(数度消除). moonwarriors(月亮战神).frui ...
- Unity手游开发札记——移动平台的天气系统实现
0. 牢骚 我发现,每个月的20+号是我有精力写博客的时间-- 这次项目算是经历的第一次严格意义上的渠道测试,更换了正式名称,见了更多玩家,开发组也经历的更多通宵--评价和数据如何暂时还未揭晓,趁着没 ...
- 视频教程-H5入门-系列手机游戏开发-过河-手游开发
H5入门-系列手机游戏开发-过河 20年软件项目开发管理经验 工信部人才交流中心特聘专家讲师 日本U-CAN在线教育特聘主任讲师 国家十二·五规划软件工程教材作者(书:清华大学出版社出版) 中国软件行 ...
- Cocos2d-x 手游开发群:296733909
2019独角兽企业重金招聘Python工程师标准>>> #Cocos2d-x 手游开发群:296733909 转载于:https://my.oschina.net/skyhacker ...
- Unity3D教程:手游开发常用排序算法 -下
五.堆排序(Heap Sort) 1. 基本思想: 堆排序是一树形选择排序,在排序过程中,将R[1..N]看成是一颗完全二叉树的顺序存储结构,利用完全二叉树中双亲结点和孩子结点之间的内在关系来选择最小 ...
- 视频教程-红孩儿网狐Cocos经典棋牌开发教程-手游开发
红孩儿网狐Cocos经典棋牌开发教程 中国早期游戏程序员,2003年起从事游戏程序开发,负责开发过多款游戏项目,曾担任大型端游<无限世界>自研引擎技术负责人,2012年起关注Cocos引擎 ...
- 手游开发中你需要了解的开发语言知识
如今手机游戏已经成为人们生活之中不可缺少的娱乐活动,手机游戏的种类也越来越多.对于手游发烧友来说,你是否了解手机游戏开发都是使用的事什么开发语言呢?下面我们就一起来看看手游开发中你需要了解的开发语言知 ...
最新文章
- Python基础07-数据类型:字典dict
- Python操作Firefox
- 手持发光棒的结构解析
- WCF Data Service文章列表
- c语言程序填空打印出1 1000,计算机应用类专业综合复习试题(一)
- Python基础教程(第3版)之一些内置的异常类
- 测开之路十五:构造函数、析构函数
- BeanFactory和ApplicationContext对比
- 服务器系统装软路由,服务器系统设置软路由
- python的三种结构_Python控制结构,python
- CDLL和WinDLL的区别
- 2_python基础—格式化符号(输入、输出、转义、结束)
- shell学习之循环命令
- redis 慢消费_Redis精进:List的使用和应用场景
- [转载]刘继东:个人知识管理-走出去,请进来
- 数据结构C语言版第二版答案 严蔚敏 李冬梅 吴伟民 编著
- android+自定义跑马灯,Android自定义图文跑马灯效果
- 五、服务总线 - Bus
- ios app上架审核被拒及解决总结
- 合泰单片机点灯c语言程序,ht66f018合泰单片机暖风机的C语言源程序