引擎包含2部分: cocos2d-html5 + cocos2d-x 2部分组成,所以全平台运行
引擎包目录结构:
2; 想似得: if switch {} new对像 cc.。。。。
3: var 相当于local
使用cocos2d-Js的特点: 快速(程序开发) 全平台
使用cocos2d-Js的特点: 快速(程序开发) 全平台
使用啥语言无所谓, 关键是经验: 如逻辑结构, 项目的架构/数据 Ui分离, 文件夹层次 网络
[入门教程]使用Cocos2d-html5游戏引擎编写一个简单的游戏
[入门教程]使用Cocos2d-html5游戏引擎编写一个简单的游戏 第一回合: 搭建开发环境
[入门教程]使用Cocos2d-html5游戏引擎编写一个简单的游戏 第二回合:运行Hello World
[入门教程]使用Cocos2d-html5游戏引擎编写一个简单的游戏 第三回合:创建工程
[入门教程]使用Cocos2d-html5游戏引擎编写一个简单的游戏 第四回合:添加场景
[入门教程]使用Cocos2d-html5游戏引擎编写一个简单的游戏 第五回合:添加飞机
[入门教程]使用Cocos2d-html5游戏引擎编写一个简单的游戏 第六回合:移动精灵
[入门教程]使用Cocos2d-html5游戏引擎编写一个简单的游戏 第七回合:发射子弹
[入门教程]使用Cocos2d-html5游戏引擎编写一个简单的游戏 第八回合:添加敌机
[入门教程]使用Cocos2d-html5游戏引擎编写一个简单的游戏 第九回合:碰撞检测
[入门教程]使用Cocos2d-html5游戏引擎编写一个简单的游戏 第十回合:游戏结束
--------------------
***********************
-------------------------------------------------------------
cocos2d-html5 碰撞检测的几种方法-----------------------------------
游戏中的碰撞还是比较多的,比如角色与角色的碰撞,角色与墙壁的碰撞,角色与怪物的碰撞等,都需要
进行碰撞的检测,来触发一定的事件
最近在尝试制作一个小游戏的时候需要用到碰撞检测,然后就查了下资料,并在论坛进行提问等算是找到了比较满意的碰撞检测方法,这里记录下来
现在自己知道的方法算是有了三种了,下面一一记录并分析下他们各自的优缺点
1、就是官方提供的,根据getBoundingBox();方法获取要检测的碰撞物体的范围,然后再根据rectIntersectsRect();方法进行判断需要检测的两个精灵是否有重叠,有则发生碰撞;
优点:适合对规则的矩形物体进行检测碰撞,简单,直接
缺点:对于复杂图形不友好,对于碰撞的检测不准确,使用中有种莫名其妙的感觉
优点:使碰撞检测更准确一点
缺点:麻烦
进行碰撞的检测,来触发一定的事件
最近在尝试制作一个小游戏的时候需要用到碰撞检测,然后就查了下资料,并在论坛进行提问等算是找到了比较满意的碰撞检测方法,这里记录下来
现在自己知道的方法算是有了三种了,下面一一记录并分析下他们各自的优缺点
1、就是官方提供的,根据getBoundingBox();方法获取要检测的碰撞物体的范围,然后再根据rectIntersectsRect();方法进行判断需要检测的两个精灵是否有重叠,有则发生碰撞;
优点:适合对规则的矩形物体进行检测碰撞,简单,直接
缺点:对于复杂图形不友好,对于碰撞的检测不准确,使用中有种莫名其妙的感觉
2、第二种是在网上找到的,我感觉有些麻烦,不过相对于第一种,对于不规则物体支持的好了一些
这里根据BoundingBox 的 上下左右的中间点来判断碰撞,使检测的更准确一些优点:使碰撞检测更准确一点
缺点:麻烦
- varBox1=sprite1.getBoundingBox();
- varbottom=cc.p(Box1.x+Box1.width/2,Box1.y);
- varright=cc.p(Box1.x+Box1.width,Box1.y+Box1.height/2);
- varleft=cc.p(Box1.x,Box1.y+Box1.height/2);
- vartop=cc.p(Box1.x+Box1.width/2,Box1.y+Box1.height);
- varBox2=sprite2.getBoundingBox();
- if(cc.rectContainsPoint(Box2,left)||cc.rectContainsPoint(Box2,right)||cc.rectContainsPoint(Box2,top)||cc.rectContainsPoint(Box2,bottom)){
- //发生碰撞
- }
3、第三种就是我现在使用的,不过这个针对大小比较规矩,即接近正方形比较好,但是对于外形可以复杂
这个碰撞检测就是要给精灵添加一个radius属性,设置精灵以中心为原点,radius为半径的碰撞区域,然后去判断两个精灵的中心点的距离是否小于radius之和,如果是则发生碰撞;
优点:更准确,简单
缺点:对于长的图片碰撞不友好
想判断距离首先要知道一个方法:pDistance();这个方法是cocos2d-html5获取两个坐标点之间的方法,使用这个方法我们就可以获取两个精灵中心的距离