本文为 H5EDU 机构官方 HTML5培训 教程,主要介绍:JavaScript强化教程 —— cocosjs碰撞检测
简单描述下游戏的碰撞检测原理:首先要为每个游戏物体指定一个碰撞检测区域,然后在Update方法中实时检测两个物体的区域是否有重叠,如果有,那么就发生碰撞了。
简单看下代码,这个代码是从官方的代码里头摘出来的
复制代码
1 tools.CollisionHelper={
2 IsCollided:function(ccA,ccB){
3 var ax = ccA.x, ay = ccA.y, bx = ccB.x, by = ccB.y;
4 /*if (Math.abs(ax - bx) > 5|| Math.abs(ay - by) >5) {
5 return false;
6 }*/
7 var aRect = this.MakeCollideRect(ccA);
8 var bRect = this.MakeCollideRect(ccB);
9 return cc.rectIntersectsRect(aRect, bRect);
10 },
11 MakeCollideRect: function (ccA) {
12 return cc.rect(ccA.x - 3, ccA.y - 3, 20, 20);
13 }
14 };
复制代码
简单说下代码:碰撞检测时比较的是每个游戏物体所在碰撞区域(上面代码中我们设定该区域高宽都是20,该区域所在坐标是当前游戏物体坐标减3,这个3必须根据游戏中不同物体来动态调节),得到这两个区域所在位置以后,发给cc.rectInterestsRect函数就可以了。其实在cc.rectInterestsRect函数内部也是做的区域范围检测。
发生碰撞以后要隐藏游戏物体的话直接用:gameObject.setVisibility(false)就可以了。
话说用碰撞检测结果配合cc.fadeIn和cc.fadeOut就可以很简单的搞个碰撞动画出来了
分享到:
相关推荐
6. **物理引擎**:Cocos2d-JS 集成了Box2D物理引擎,可用于创建真实的物理模拟,如碰撞检测和重力效果。 在“Cocos2d-JS快速入门——PPT”中,你将获得更详细的理论讲解和实践指导,内容可能涵盖: - Cocos2d-JS ...
- **飞机发射子弹**:"10_[项目实战]重构moonwarriors[3_4]_飞机发射子弹.mp4"涉及游戏逻辑的编写,包括对象创建、碰撞检测和动态更新。 - **游戏完成**:"11_[项目实战]重构moonwarriors[4_4]_游戏完成.mp4"覆盖...
2. **物理引擎**:为了模拟小鸟的飞行和管道的移动,Cocos2d-x的物理引擎(如Box2D)被用于处理物体的碰撞检测和物理运动。开发者需要设置合适的物理属性,如重力、弹性等,确保游戏的物理行为真实可信。 3. **事件...
《任意球达人源码解析——基于Cocos Creator的JavaScript实现》 在当今的移动游戏市场中,微信小游戏凭借其轻量级、易于分享的特点,深受玩家喜爱。其中,“任意球达人”作为一款以足球为主题的休闲游戏,巧妙地将...
Cocos2d-JS 是Cocos2d-x项目的JavaScript版本,它允许开发者使用一种与Web技术栈紧密相连的语言——JavaScript,来创建2D游戏、应用以及互动内容。Cocos2d-JS 包含了Cocos2d-html5和Cocos2d-x的JavaScript Bindings ...
5. **物理引擎**:如Box2D集成,支持复杂的物理模拟,简化游戏世界中的碰撞检测和动力学计算。 6. **游戏组件**:如粒子系统、动作和动画系统、精灵批处理等,为开发者提供了丰富的游戏元素。 7. **事件处理和触摸...
本教程源自raywenderlich.com,我们将深入探讨如何利用Cocos2D-JS和Box2D物理引擎,在JavaScript环境下构建一款类似“水果忍者”的切割游戏——CutCutCut。 首先,Cocos2D-JS是Cocos2D家族的一员,它基于HTML5,...
在推箱子游戏的实现中,开发者可能使用了Cocos Creator的物理引擎来处理箱子和角色的碰撞检测,以及箱子的移动规则。同时,可能存在一个关卡管理器负责加载和切换不同的关卡配置,以及记录玩家的进度。游戏可能还...
1. **引擎概述**:cocos2d最初是为Python设计的,后来发展出了多个版本,包括cocos2d-x(C++),cocos2d-js(JavaScript)以及cocos2d-swift(Swift),支持跨平台开发,覆盖iOS、Android、Windows等多个操作系统。...
每个游戏对象都可以附加多个组件,比如Transform组件负责对象的位置、旋转和缩放,Sprite组件用于2D图像显示,RigidBody组件则实现物理碰撞检测。"幽灵射手"源码中,角色、敌人、子弹等元素都是通过组合不同的组件来...
Box2D是广泛应用于2D物理模拟的开源库,它提供了刚体、关节、碰撞检测等关键功能。在这个跑酷游戏中,Box2D被用来处理角色、障碍物以及其他游戏元素之间的动态交互,确保游戏的物理行为真实且流畅。理解Box2D的基本...
搓牌游戏通常涉及到复杂的算法和物理模拟,例如牌的堆叠、发牌顺序、碰撞检测等。在Cocos2.0中,这些可以通过使用其内置的Box2D物理引擎来实现。Box2D是一个强大的2D物理模拟库,它可以处理物体的碰撞、重力以及其他...
其内置的物理引擎可以实现物体碰撞检测,使得游戏中的交互更加真实。此外,事件系统使得响应用户输入,如鼠标拖拽,变得简单易行。在DemoBag中,鼠标拖拽效果是通过监听鼠标的触摸事件,结合精灵的位置更新来实现的...
通过这个项目,我们可以深入学习Cocos2d-js引擎和JavaScript编程在游戏开发中的应用。 Cocos2d-js是Cocos2d-x家族的一员,是一个强大的2D游戏开发框架,支持JavaScript语言。它结合了C++的性能和JavaScript的易用性...
7.3.1 平面几何在碰撞检测中的应用 194 7.3.2 物体的包围盒 197 7.3.3 AABB碰撞检测技术 198 7.4 基本物理知识 199 7.5 你好!Box2D! 201 7.5.1 概述 201 7.5.2 物理世界 202 7.5.3 游戏中的两个世界 202 7.6 Box2D...
这可能包含了一系列使用Cocos Creator开发的小游戏,包括俄罗斯方块和连连看,这些都是常见的休闲游戏类型,通过分析这些游戏的源码,可以学习到游戏逻辑设计、碰撞检测、动画效果实现等技巧。 另外两个游戏源码...
3. **物理引擎(Box2D)**:为了实现汽车的碰撞检测和动态行为,TheCars可能会使用cocos2d-js内置的Box2D物理引擎。开发者需要定义物体的形状、质量、摩擦力等物理属性,并设置碰撞监听器来处理碰撞事件。 4. **...
- `cocos2dx-lua`或`cocos2dx-js`允许使用Lua或JavaScript进行脚本编程,提供更灵活的开发方式。 2. **游戏场景与节点系统:** 在Cocos2dx中,游戏世界被划分为不同的场景(Scene),每个场景由多个节点(Node)...
编写游戏逻辑时,我们会在cc.js中定义角色的行为,比如炸弹人的移动、放置炸弹、爆炸效果以及碰撞检测。 游戏的核心机制——炸弹爆炸和连锁反应,是通过事件系统和物理引擎来实现的。当炸弹被放置后,我们可以设定...