今天来分享一下我游戏里面的三角型碰撞,原理就是判断两个图形中是否有一对或者一对以上的边相交。如果有相交,那么着两个图形一定是相互碰撞(两个图形可能会嵌套,但是游戏中物体都是慢慢移动的,就像现实中的物体一样,嵌套之前一定会相交。so 该情况就直接忽略)。游戏写的算法还欠考虑,但还是可以正常检测的。
以下是为三角碰撞准备的变量:
/**
* 储存三角形,三边坐标的数组,用于碰撞计算,非同步
*/
public static float[][] TriangLineArray = new float[3][4];
/**
* 储存矩形,四边的坐标,用于碰撞计算,非同步
*/
public static float[][] RectLineArray = new float[4][4];
然后就是碰撞算法: