void Stage::processContinuousInput(){ if(keyStates[GLFW_KEY_A]) { cpVect curVel = cpBodyGetVelocity(userControlObject->body); if(curVel.x >= -1000.0) cpBodySetForce(userControlObject->body, cpv(-100000.0, 0.0)); } if(keyStates[GLFW_KEY_D]) { cpVect curVel = cpBodyGetVelocity(userControlObject->body); if(curVel.x <= 1000.0) cpBodySetForce(userControlObject->body, cpv(100000.0, 0.0)); } if(!keyStates[GLFW_KEY_A] && !keyStates[GLFW_KEY_D]) { cpVect curVel = cpBodyGetVelocity(userControlObject->body); if(curVel.x != 0) { curVel.x /= 1.1; if(curVel.x > -100 || curVel.x < 100) curVel.x = 0; cpBodySetVelocity(userControlObject->body, curVel); } } if(keyStates[GLFW_KEY_SPACE]){ cpVect curVel = cpBodyGetVelocity(userControlObject->body); // if(curVel.y < 0.5 && curVel.y > -0.5){ // cpBodySetVelocity(userControlObject->body, cpvadd(curVel, cpv(0.0, 1150.0))); // soundMap.find("Jump")->second->play(); // } if(userControlObject->canJump){ cpBodySetVelocity(userControlObject->body, cpvadd(curVel, cpv(0.0, 1150.0))); soundMap.find("Jump")->second->play(); } } if(keyStates[GLFW_KEY_E]){ firstPerson = !firstPerson; camera = Camera(); keyStates[GLFW_KEY_E] = 0; } }
void RCPBody::setForce(RVector const & f) { mForce = f; if (mType != Static && mBody) { cpBodySetForce(mBody, cpv(mForce.x(), mForce.y())); } }
void RigidBody2D::CopyBodyData(cpBody* body) { cpBodySetAngle(m_handle, cpBodyGetAngle(body)); cpBodySetAngularVelocity(m_handle, cpBodyGetAngularVelocity(body)); cpBodySetCenterOfGravity(m_handle, cpBodyGetCenterOfGravity(body)); cpBodySetForce(m_handle, cpBodyGetForce(body)); cpBodySetPosition(m_handle, cpBodyGetPosition(body)); cpBodySetTorque(m_handle, cpBodyGetTorque(body)); cpBodySetVelocity(m_handle, cpBodyGetVelocity(body)); }
void RigidBody2D::CopyBodyData(cpBody* from, cpBody* to) { cpBodySetAngle(to, cpBodyGetAngle(from)); cpBodySetAngularVelocity(to, cpBodyGetAngularVelocity(from)); cpBodySetCenterOfGravity(to, cpBodyGetCenterOfGravity(from)); cpBodySetForce(to, cpBodyGetForce(from)); cpBodySetPosition(to, cpBodyGetPosition(from)); cpBodySetTorque(to, cpBodyGetTorque(from)); cpBodySetVelocity(to, cpBodyGetVelocity(from)); }
static int l_physics_setBodyForce(lua_State* state) { l_tools_checkUserDataPlusErrMsg(state, 1, "You must provide a body"); l_physics_Body* body = (l_physics_Body*)lua_touserdata(state, 1); cpVect vec = cpvzero; vec.x = l_tools_toNumberOrError(state, 2); vec.y = l_tools_toNumberOrError(state, 3); cpBodySetForce(body->body, vec); return 0; }
void cBody::Force( const cVect& force ) { cpBodySetForce( mBody, tocpv( force ) ); }
void PhysicsBody::resetForces() { cpBodySetForce(_cpBody, PhysicsHelper::point2cpv(Vec2(0,0))); }
void physics_set_force(Entity ent, Vec2 force) { PhysicsInfo *info = entitypool_get(pool, ent); error_assert(info); cpBodySetForce(info->body, cpv_of_vec2(force)); }
void Body::setForce(const cp::Vect& value) { cpBodySetForce(body,value); }