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


C++ b2Body::GetWorldVector方法代码示例

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


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

示例1: updateDrive

	void updateDrive(int controlState) {

		//find desired speed
		float desiredSpeed = 0;
		switch (controlState & (TDC_UP | TDC_DOWN)) {
		case TDC_UP:   desiredSpeed = maxForwardSpeed;  break;
		case TDC_DOWN: desiredSpeed = maxBackwardSpeed; break;
		default: return;//do nothing
		}

		//find current speed in forward direction
		b2Vec2 currentForwardNormal = w_body->GetWorldVector(b2Vec2(0, 1));
		float currentSpeed = b2Dot(getForwardVelocity(), currentForwardNormal);

		//apply necessary force
		float force = 0;
		if (desiredSpeed > currentSpeed)
			force = maxDriveForce;
		else if (desiredSpeed < currentSpeed)
			force = -maxDriveForce;
		else
			return;
		//w_body->ApplyForce(currentTraction * force * currentForwardNormal, w_body->GetWorldCenter());
	}
开发者ID:Bryans91,项目名称:Box2DSFML,代码行数:24,代码来源:Car.cpp

示例2: getForwardVelocity

	b2Vec2 getForwardVelocity() {
		b2Vec2 currentForwardNormal = w_body->GetWorldVector(b2Vec2(0, 1));
		return b2Dot(currentForwardNormal, w_body->GetLinearVelocity()) * currentForwardNormal;
	}
开发者ID:Bryans91,项目名称:Box2DSFML,代码行数:4,代码来源:Car.cpp

示例3: getLateralVelocity

	b2Vec2 getLateralVelocity() {
		b2Vec2 currentRightNormal = w_body->GetWorldVector(b2Vec2(1, 0));
		return b2Dot(currentRightNormal, w_body->GetLinearVelocity()) * currentRightNormal;
	}
开发者ID:Bryans91,项目名称:Box2DSFML,代码行数:4,代码来源:Car.cpp


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