canvas中怎么判断,两个物体碰撞了?
html5吧
全部回复
仅看楼主
level 1
嘻倪孢
楼主
打算自己做canvas的坦克大战。我还有一点高不清楚的是。如果判断坦克碰撞到了障碍物,可子弹如何打到坦克,和障碍物。有知道的能说说原理吗?
2015年12月06日 15点12分
1
level 3
熊猫的眼神
确切的来说是overlap,而并不是collide。检测两个对象,子弹看做圆形,坦克作为矩形对象,然后对每一次重绘进行检测矩形的上下左右四个位置的position判断,比如在矩形下方时 react.y+对应的高度-(子弹的圆心坐标.y-子弹的半径)>0?重叠:未重叠
2015年12月07日 01点12分
2
嘻倪孢
这样不是每移动一下,就用做一次判断?会不会太耗费cpu?
2015年12月07日 03点12分
熊猫的眼神
@嘻倪孢
canvas的动画就是在不停的重绘,碰撞检测就是在每次重绘中进行坐标和距离的判断,所以html5游戏稍微复杂点在低端手机,尤其是安卓机当中卡爆了。FPS常常个位数,而canvas的WEBGL支持GPU加速,支持WEBGL的浏览器可以无压力运行3D。
2015年12月10日 08点12分
嘻倪孢
@熊猫的眼神
好的 谢谢 我懂了 。这样要是还要计算障碍物的 什么的要不是要大量的计算?
2015年12月10日 12点12分
嘻倪孢
好吧 谢谢
2015年12月11日 01点12分
level 1
新的开始◎◎
123
2020年07月25日 08点07分
3
level 1
新的开始◎◎
检测子弹碰到坦克,将坦克对象从坦克数组中移除,将子弹对象从子弹数组中移除,就实现了子弹击毁坦克的功能。
2020年07月25日 08点07分
4
1