Egret社区
10银子
本帖最后由 zhang12237255 于 2018-1-11 15:41 编辑

如图,如何通过代码实现两个npc碰撞之后实现类似刚体碰撞,而不是两张图片直接穿透叠加到一起。npc是随机运动的通过一个npc管理者添加到游戏场景里的。或者可不可以在我现在游戏的基础上给每个npc加p2的刚体碰撞。应该怎么弄,求大佬们帮帮忙。研究半天p2实在搞不懂。

红色是npc

红色是npc

现在是这样

现在是这样
分享到 :
0 人收藏

9 个回复

倒序浏览
zhang12237255  登堂入室 | 2018-1-11 15:40:56
不要沉啊,求大佬们帮帮忙啊
zhang12237255  登堂入室 | 2018-1-11 16:21:41
没人吗
叶落随风  初窥堂奥 | 2018-1-11 17:04:31

帮大佬顶一下,顺带弱弱的问下hitTestPoint 不行吗
zhang12237255  登堂入室 | 2018-1-11 18:25:22
叶落随风 发表于 2018-1-11 17:04
帮大佬顶一下,顺带弱弱的问下hitTestPoint 不行吗

这是个啥,求指教,我是渣渣,,,,,,,,,,,,,,,
adodo08  圆转纯熟 | 2018-1-11 18:31:14
简单粗暴的加一个enterframe里面2,2之间判断距离就行了
addEventListener("enterframe"n()=>{
if( |a.x-b.x|<10 && |a.y-b.y| < 10){
  那么他们就重叠了
}
});
太卡的话自己去优化算法
叶落随风  初窥堂奥 | 2018-1-12 08:59:34
zhang12237255 发表于 2018-1-11 18:25
这是个啥,求指教,我是渣渣,,,,,,,,,,,,,,,

就是碰撞检测嘛,API里面有的可以去看看
HoraceYuan  圆转纯熟 | 2018-1-12 09:58:13
推荐两个思路:
1、红坦克的寻路算法中加入退避逻辑避免碰撞——具体是将游戏场景划分成 NxN 个网格(用二维数组存放)坦克每帧更新自身所处网格,并且检测附近9个网格中的坦克位置和距离,小于一定距离转弯往无坦克的任一网格方向走。
2、加入Box2d物理引擎,这里有个博客推荐一下:http://www.ladeng6666.com/blog/2014/11/14/box2d-in-egret/

点评

谢大佬,我先试试看  发表于 2018-1-12 11:14
qibu111  圆转纯熟 | 2018-1-12 14:54:46
还有一种简单的做法,坦克和地图格子做得差不多大,当坦克在的格子,就禁止寻路。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|京网文[2014]0791-191号|京ICP证150115号|Egret社区 ( 京ICP备14025619号

Powered by Discuz! X3.2 © 2001-2016 Comsenz Inc.

返回顶部