`
zhanying
  • 浏览: 8749 次
社区版块
存档分类
最新评论

JavaScript强化教程 —— cocosjs碰撞检测

阅读更多
本文为 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就可以很简单的搞个碰撞动画出来了
分享到:
评论

相关推荐

    Cocos2d-JS 快速入门——代码和ppt

    6. **物理引擎**:Cocos2d-JS 集成了Box2D物理引擎,可用于创建真实的物理模拟,如碰撞检测和重力效果。 在“Cocos2d-JS快速入门——PPT”中,你将获得更详细的理论讲解和实践指导,内容可能涵盖: - Cocos2d-JS ...

    Cocos2d-JS 快速入门——视频(下部分)

    - **飞机发射子弹**:"10_[项目实战]重构moonwarriors[3_4]_飞机发射子弹.mp4"涉及游戏逻辑的编写,包括对象创建、碰撞检测和动态更新。 - **游戏完成**:"11_[项目实战]重构moonwarriors[4_4]_游戏完成.mp4"覆盖...

    cocos2d-x for js flappybird 代码 资源

    2. **物理引擎**:为了模拟小鸟的飞行和管道的移动,Cocos2d-x的物理引擎(如Box2D)被用于处理物体的碰撞检测和物理运动。开发者需要设置合适的物理属性,如重力、弹性等,确保游戏的物理行为真实可信。 3. **事件...

    任意球达人源码-cocosCreator js

    《任意球达人源码解析——基于Cocos Creator的JavaScript实现》 在当今的移动游戏市场中,微信小游戏凭借其轻量级、易于分享的特点,深受玩家喜爱。其中,“任意球达人”作为一款以足球为主题的休闲游戏,巧妙地将...

    cocos2d-js-tutorial:Cocos2d-JS 教程

    Cocos2d-JS 是Cocos2d-x项目的JavaScript版本,它允许开发者使用一种与Web技术栈紧密相连的语言——JavaScript,来创建2D游戏、应用以及互动内容。Cocos2d-JS 包含了Cocos2d-html5和Cocos2d-x的JavaScript Bindings ...

    Cocos2d-JS开发之旅 从HTML5到原生手机游戏 资源源码

    5. **物理引擎**:如Box2D集成,支持复杂的物理模拟,简化游戏世界中的碰撞检测和动力学计算。 6. **游戏组件**:如粒子系统、动作和动画系统、精灵批处理等,为开发者提供了丰富的游戏元素。 7. **事件处理和触摸...

    CutCutCut-JS:这是来自 raywenderlich.com 教程的 Cocos2D-JS 端口如何使用 box2d 和 cocos2d 制作类似水果忍者的游戏

    本教程源自raywenderlich.com,我们将深入探讨如何利用Cocos2D-JS和Box2D物理引擎,在JavaScript环境下构建一款类似“水果忍者”的切割游戏——CutCutCut。 首先,Cocos2D-JS是Cocos2D家族的一员,它基于HTML5,...

    cocos creator 2.4推箱子源码

    在推箱子游戏的实现中,开发者可能使用了Cocos Creator的物理引擎来处理箱子和角色的碰撞检测,以及箱子的移动规则。同时,可能存在一个关卡管理器负责加载和切换不同的关卡配置,以及记录玩家的进度。游戏可能还...

    cocos2d 一款切水果游戏

    1. **引擎概述**:cocos2d最初是为Python设计的,后来发展出了多个版本,包括cocos2d-x(C++),cocos2d-js(JavaScript)以及cocos2d-swift(Swift),支持跨平台开发,覆盖iOS、Android、Windows等多个操作系统。...

    cocos creator 3D 官方出品源码 幽灵射手

    每个游戏对象都可以附加多个组件,比如Transform组件负责对象的位置、旋转和缩放,Sprite组件用于2D图像显示,RigidBody组件则实现物理碰撞检测。"幽灵射手"源码中,角色、敌人、子弹等元素都是通过组合不同的组件来...

    cocos2d x跑酷源码 C++版

    Box2D是广泛应用于2D物理模拟的开源库,它提供了刚体、关节、碰撞检测等关键功能。在这个跑酷游戏中,Box2D被用来处理角色、障碍物以及其他游戏元素之间的动态交互,确保游戏的物理行为真实且流畅。理解Box2D的基本...

    cuopai.zip

    搓牌游戏通常涉及到复杂的算法和物理模拟,例如牌的堆叠、发牌顺序、碰撞检测等。在Cocos2.0中,这些可以通过使用其内置的Box2D物理引擎来实现。Box2D是一个强大的2D物理模拟库,它可以处理物体的碰撞、重力以及其他...

    Cocos2d-html5基于CocoStudio编辑器开发的DemoBag

    其内置的物理引擎可以实现物体碰撞检测,使得游戏中的交互更加真实。此外,事件系统使得响应用户输入,如鼠标拖拽,变得简单易行。在DemoBag中,鼠标拖拽效果是通过监听鼠标的触摸事件,结合精灵的位置更新来实现的...

    flappy-bird-cocos2d-html5:飞扬的鸟克隆,用 cocos2d-js 制作

    通过这个项目,我们可以深入学习Cocos2d-js引擎和JavaScript编程在游戏开发中的应用。 Cocos2d-js是Cocos2d-x家族的一员,是一个强大的2D游戏开发框架,支持JavaScript语言。它结合了C++的性能和JavaScript的易用性...

    Cocos2D-X游戏开发技术精解

    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 《90坦克大战》.zip

    这可能包含了一系列使用Cocos Creator开发的小游戏,包括俄罗斯方块和连连看,这些都是常见的休闲游戏类型,通过分析这些游戏的源码,可以学习到游戏逻辑设计、碰撞检测、动画效果实现等技巧。 另外两个游戏源码...

    TheCars:cocos2d-js 引擎的简单游戏

    3. **物理引擎(Box2D)**:为了实现汽车的碰撞检测和动态行为,TheCars可能会使用cocos2d-js内置的Box2D物理引擎。开发者需要定义物体的形状、质量、摩擦力等物理属性,并设置碰撞监听器来处理碰撞事件。 4. **...

    使用c++基于Cocos2dx V3.16 开发的植物大战僵尸游戏

    - `cocos2dx-lua`或`cocos2dx-js`允许使用Lua或JavaScript进行脚本编程,提供更灵活的开发方式。 2. **游戏场景与节点系统:** 在Cocos2dx中,游戏世界被划分为不同的场景(Scene),每个场景由多个节点(Node)...

    Bomberman:Bomberman js游戏使用Cocos Creator

    编写游戏逻辑时,我们会在cc.js中定义角色的行为,比如炸弹人的移动、放置炸弹、爆炸效果以及碰撞检测。 游戏的核心机制——炸弹爆炸和连锁反应,是通过事件系统和物理引擎来实现的。当炸弹被放置后,我们可以设定...

Global site tag (gtag.js) - Google Analytics