void CBlock::Acceleration() { m_NowTime = timeGetTime(); m_FlmAngl = (float)(m_NowTime - m_BeforeTime); m_BeforeTime = m_NowTime; if(m_FlmAngl != 0) { m_FlmAngl *= (float)60/100; } else { m_VecVelo = m_Velo; m_VecAccel = m_Accel; m_Accel = m_Velo = D3DXVECTOR3(0,0,0); return; } //m_Velo = m_PotentialVelo*m_FlmAngl; //m_PotentialVelo.x += m_Accel.x/m_Mass*m_FlmAngl; //m_PotentialVelo.y += m_Accel.y/m_Mass*m_FlmAngl; //m_PotentialVelo.z += m_Accel.z/m_Mass*m_FlmAngl; Gravitation(); m_Velo += m_Accel/m_Mass; m_Velo *= m_FlmAngl; m_Accel *= m_FlmAngl; }
void PhysicsManager::Frame() { // Vsetke funkcie tu pojdu zaradom DeltaTime = gGame->GetLeftTime(); for(UINT ent=0; ent < gEntity->GetSize(); ent++) { gEntity->GetAt(ent)->Think(DeltaTime); } Gravitation(); TestCollisions(); FinalForce(); }