当前位置: 首页>>代码示例>>C++>>正文


C++ box::getVertexs方法代码示例

本文整理汇总了C++中box::getVertexs方法的典型用法代码示例。如果您正苦于以下问题:C++ box::getVertexs方法的具体用法?C++ box::getVertexs怎么用?C++ box::getVertexs使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在box的用法示例。


在下文中一共展示了box::getVertexs方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: findCollisionLineToBox

vector findCollisionLineToBox(line l1, box b2){
	vector l[] = { l1.pE1->position,
		l1.pE2->position,
	};
	box b1;
	b1.position = { ((l[0].x + l[1].x) / 2), ((l[0].y + l[1].y) / 2) };
	if ((l[0].x - l[1].x) == 0)
		b1.rotation = 0;
	else
		b1.rotation = atan2((l[0].x - l[1].x), (l[0].y - l[1].y));

	b1.width = { sqrt(pow(l[0].x - l[1].x, 2) + pow(l[0].y - l[1].y, 2)), 2.0 };

	

	if (isCollision(b1, b2)){
		vector vertexs[4];
		b2.getVertexs(vertexs);
		vector l[] = { l1.pE1->position,
			l1.pE2->position,
			vertexs[1],
			vertexs[2],
			vertexs[3],
			vertexs[0]
		};
		double temp[] = { getDistanceBetweenPointAndLine(l[0].x, l[0].y, l[2].x, l[2].y, l[3].x, l[3].y),
			getDistanceBetweenPointAndLine(l[1].x, l[1].y, l[2].x, l[2].y, l[3].x, l[3].y),
			getDistanceBetweenPointAndLine(l[2].x, l[2].y, l[0].x, l[0].y, l[1].x, l[1].y),
			getDistanceBetweenPointAndLine(l[3].x, l[3].y, l[0].x, l[0].y, l[1].x, l[1].y)
		};
		double shortDistance = temp[0];
		int index = 0;
		for (int i = 1; i < 4; i++){
			if (shortDistance>temp[i]){
				shortDistance = temp[i];
				index = i;
			}
		}
		return l[index];
	}

	return vector();

}
开发者ID:Shylph,项目名称:fight_game,代码行数:44,代码来源:collisionCheck.cpp


注:本文中的box::getVertexs方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。