您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 咨询培训 > HTML5游戏培训大城小胖2D游戏中的碰撞检测
{COLLISION}Lessabout小胖只有一个姓名魏子钧职务盛大创新院研究员新浪微博大城小胖Why2D?[Rectangle]yxx,yx',y'widthheightAABBx,yx',y'x,yx',y'相交==!!相交x,yx',y'yy'x'xx,yx',y'yy'x'xCode判断是否不相交Code判断是否相交是否不相交不应总是使用作为碰撞矩形CollisionBox在非物理类的游戏里不精确的碰撞检测通常是可以接受的我就是不掉下去爱咋地咋地哼[Polygon]矩形碰撞区域不再合适2D(SAT)SeparatingAxisTheorem两不相交多边形必然分列于某条直线两侧,SAT在两个多边形之间寻找分离轴找到了则多边形未发生碰撞否则发生碰撞证明两个多边形之间存在不存在分离轴line,......,(SAT++)thanks,@miloyip,@miloyip,(,)Many[Rectangles]125687934Simple&Bad125687934125687934双重循环检测所有物体自己不和自己检测彼此之间做过碰撞检测的不再检测Simple&Bad125687934Grid&Good125687934Grid&Good125346879125346879125346879125346879Grid&Good先计算所有物体分别属于哪一个格子以物体某一点为基准如左上角格子内的物体两两检测格子内的物体与相邻格子内的物体做检测注意格子要比最大物体的大(Grid++)112123123412534125346Grid&Better计算物体在哪些格子里并记录物体覆盖的格子一个物体可属于多个格子检测物体与自己所在格子里所有物体的碰撞记录检测过的碰撞关系重复到直到所有物体都检测完毕注意格子大小与物体大小无关125346879Grid&Better[Collide]&[Block]vvd'overlapvdvdoverlapvdoverlap[TileBased]What'sTileBased?以大小相同样式不同的小方块为单位构建游戏场景的一种游戏如传统的超级玛丽可在设计地图时手动定义地图的碰撞矩形可以为单位定义碰撞矩形111111推荐阅读Q?A:THANKS
本文标题:HTML5游戏培训大城小胖2D游戏中的碰撞检测
链接地址:https://www.777doc.com/doc-958595 .html