static inline float vector2angel(cocos2d::Vec2 v)
{
    if (v.length() == 0) {
        return 0;
    }

    float pir = std::acos(v.x/v.length());
    if (v.y < 0) {
        pir = 2*3.1415926 - pir;
    }
    return  pir*(180.f/3.1415926);
}
Esempio n. 2
0
void SteeringAgent::truncateSteeringForce(cocos2d::Vec2& force) const {

	if (force.length() > m_maxForce) {

		force.normalize();
		force *= m_maxForce;
	}

	if (force.length() > m_velocity.length()) {
		force = getForward() * m_maxForce;
	}
}
Esempio n. 3
0
void SteeringAgent::truncateVelocity(cocos2d::Vec2& velocity) const {

	if (velocity.length() > m_maxSpeed) {
		
		velocity.normalize();
		velocity *= m_maxSpeed;
	}
}